Skip to content

Commit

Permalink
Upgrade code for seperation and remove the default option, whcih forc…
Browse files Browse the repository at this point in the history
…ed all users to a deport and then made them Agrilisa free delivery clients.
  • Loading branch information
leedavi committed Apr 24, 2018
1 parent 536f730 commit a3b2a44
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 70 deletions.
Binary file added .vs/NBrightBuyDepot/v15/sqlite3/storage.ide
Binary file not shown.
163 changes: 96 additions & 67 deletions Componants/Interfaces/Events.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,35 @@ public override NBrightInfo ValidateCartBefore(NBrightInfo cartInfo)

public override NBrightInfo ValidateCartAfter(NBrightInfo cartInfo)
{
var settings = PortalController.Instance.GetCurrentPortalSettings();
var role = RoleController.Instance.GetRole(settings.PortalId, r => r.RoleName == "hasaccount");
if (role != null)
var userid = cartInfo.UserId;
var uInfo = UserController.Instance.GetUser(PortalSettings.Current.PortalId, userid);
if (uInfo != null)
{
var c = new ClientData(cartInfo.PortalId, cartInfo.UserId);
if (c.Exists)
{
if ((!c.DataRecord.GetXmlPropertyBool("genxml/checkbox/hasaccount") || c.DataRecord.GetXmlPropertyRaw("genxml/checkbox/hasaccount") == "") && !UserController.Instance.GetCurrentUserInfo().IsInRole("hasaccount"))
{
//Assign to user
var oDnnRoleController = new RoleController();
oDnnRoleController.AddUserRole(cartInfo.PortalId, cartInfo.UserId, role.RoleID, System.DateTime.Now.AddDays(-1), DotNetNuke.Common.Utilities.Null.NullDate);
c.DataRecord.SetXmlProperty("genxml/checkbox/hasaccount", "True");
c.Save();
}
var defaultdepot = GetDefaultDepot();
AssignDepot(uInfo, cartInfo.PortalId, cartInfo.UserId, defaultdepot);

if (!c.DataRecord.GetXmlPropertyBool("genxml/checkbox/hasaccount") && UserController.Instance.GetCurrentUserInfo().IsInRole("hasaccount"))
var settings = PortalController.Instance.GetCurrentPortalSettings();
var role = RoleController.Instance.GetRole(settings.PortalId, r => r.RoleName == "hasaccount");
if (role != null)
{
var c = new ClientData(cartInfo.PortalId, cartInfo.UserId);
if (c.Exists)
{
RoleController.DeleteUserRole(UserController.Instance.GetCurrentUserInfo(), role, settings, false);
if (c.DataRecord.GetXmlPropertyBool("genxml/depotassigned"))
{
if ((!c.DataRecord.GetXmlPropertyBool("genxml/checkbox/hasaccount") || c.DataRecord.GetXmlPropertyRaw("genxml/checkbox/hasaccount") == "") && !UserController.Instance.GetCurrentUserInfo().IsInRole("hasaccount"))
{
//Assign to user
var oDnnRoleController = new RoleController();
oDnnRoleController.AddUserRole(cartInfo.PortalId, cartInfo.UserId, role.RoleID, System.DateTime.Now.AddDays(-1), DotNetNuke.Common.Utilities.Null.NullDate);
c.DataRecord.SetXmlProperty("genxml/checkbox/hasaccount", "True");
c.Save();
}
}
if (!c.DataRecord.GetXmlPropertyBool("genxml/checkbox/hasaccount") && UserController.Instance.GetCurrentUserInfo().IsInRole("hasaccount"))
{
RoleController.DeleteUserRole(UserController.Instance.GetCurrentUserInfo(), role, settings, false);
}
}
}
}
Expand Down Expand Up @@ -93,57 +103,8 @@ public override NBrightInfo BeforePaymentOK(NBrightInfo nbrightInfo)
var uInfo = UserController.Instance.GetUser(PortalSettings.Current.PortalId, userid);
if (uInfo != null)
{
var objCtrl = new NBrightBuyController();
var defaultdepotnum = "";
var defaultdepotemail = "";
var l = objCtrl.GetList(PortalSettings.Current.PortalId, -1, "DEPOT", "", " order by [XMLData].value('(genxml/textbox/ref)[1]','nvarchar(50)')", 0, 0, 0, 0, Utils.GetCurrentCulture());
if (l.Any())
{

defaultdepotnum = l.First().GetXmlProperty("genxml/textbox/ref");
defaultdepotemail = l.First().GetXmlProperty("genxml/textbox/email");
foreach (var i in l)
{
if (i.GetXmlPropertyBool("genxml/checkbox/default"))
{
defaultdepotnum = i.GetXmlProperty("genxml/textbox/ref");
defaultdepotemail = i.GetXmlProperty("genxml/textbox/email");
break;
}
}
}
var c = new ClientData(nbrightInfo.PortalId, nbrightInfo.UserId);
if (c.Exists)
{
if (!c.DataRecord.GetXmlPropertyBool("genxml/depotassigned"))
{
// send email that client needs assignment
var emailBody = "<div>" + DnnUtils.GetResourceString("/DesktopModules/NBright/NBrightBuyDepot/App_LocalResources/", "Admin.assignedemail") + " " + uInfo.Email + "</div>";
NBrightBuyUtils.SendEmail(emailBody, defaultdepotemail, "", c.DataRecord, "DEPOT", StoreSettings.Current.AdminEmail, StoreSettings.Current.EditLanguage);
}


var depotnum = c.DataRecord.GetXmlProperty("genxml/dropdownlist/depot");
var nbi = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "DEPOTUSER", uInfo.Email);
if (depotnum == "" && nbi != null)
{
depotnum = nbi.GetXmlProperty("genxml/dropdownlist/depot");
var depot = objCtrl.GetByGuidKey(nbrightInfo.PortalId, -1, "DEPOT", depotnum);
if (depot != null)
{
c.DataRecord.SetXmlProperty("genxml/dropdownlist/depot", depotnum);
c.DataRecord.SetXmlProperty("genxml/depotassigned", "True");
c.Save();
}
objCtrl.Delete(nbi.ItemID);
}
else
{
c.DataRecord.SetXmlProperty("genxml/dropdownlist/depot", defaultdepotnum);
c.DataRecord.SetXmlProperty("genxml/depotassigned", "True");
c.Save();
}
}
var defaultdepot = GetDefaultDepot();
AssignDepot(uInfo, nbrightInfo.PortalId, nbrightInfo.UserId, defaultdepot);
}
return nbrightInfo;
}
Expand Down Expand Up @@ -200,5 +161,73 @@ public override NBrightInfo AfterSendEmail(NBrightInfo nbrightInfo, string email
{
return nbrightInfo;
}


private DefaultDepot GetDefaultDepot()
{
var objCtrl = new NBrightBuyController();
var defaultdepotnum = "";
var defaultdepotemail = "";
var l = objCtrl.GetList(PortalSettings.Current.PortalId, -1, "DEPOT", "", " order by [XMLData].value('(genxml/textbox/ref)[1]','nvarchar(50)')", 0, 0, 0, 0, Utils.GetCurrentCulture());
if (l.Any())
{

defaultdepotnum = l.First().GetXmlProperty("genxml/textbox/ref");
defaultdepotemail = l.First().GetXmlProperty("genxml/textbox/email");
foreach (var i in l)
{
if (i.GetXmlPropertyBool("genxml/checkbox/default"))
{
defaultdepotnum = i.GetXmlProperty("genxml/textbox/ref");
defaultdepotemail = i.GetXmlProperty("genxml/textbox/email");
break;
}
}
}
var d = new DefaultDepot();
d.Ref = defaultdepotnum;
d.Email = defaultdepotemail;
return d;
}

private void AssignDepot(UserInfo uInfo, int portalId, int userId, DefaultDepot defaultdepot)
{
var objCtrl = new NBrightBuyController();

var c = new ClientData(portalId, userId);
if (c.Exists)
{
if (!c.DataRecord.GetXmlPropertyBool("genxml/depotassigned"))
{
// send email that client needs assignment
var emailBody = "<div>" + DnnUtils.GetResourceString("/DesktopModules/NBright/NBrightBuyDepot/App_LocalResources/", "Admin.assignedemail") + " " + uInfo.Email + "</div>";
NBrightBuyUtils.SendEmail(emailBody, defaultdepot.Email, "", c.DataRecord, "DEPOT", StoreSettings.Current.AdminEmail, StoreSettings.Current.EditLanguage);
}

var depotnum = c.DataRecord.GetXmlProperty("genxml/dropdownlist/depot");
var nbi = objCtrl.GetByGuidKey(PortalSettings.Current.PortalId, -1, "DEPOTUSER", uInfo.Email);
if (depotnum == "" && nbi != null)
{
depotnum = nbi.GetXmlProperty("genxml/dropdownlist/depot");
var depot = objCtrl.GetByGuidKey(portalId, -1, "DEPOT", depotnum);
if (depot != null)
{
c.DataRecord.SetXmlProperty("genxml/dropdownlist/depot", depotnum);
c.DataRecord.SetXmlProperty("genxml/depotassigned", "True");
c.Save();
}
objCtrl.Delete(nbi.ItemID);
}
}

}

}

public class DefaultDepot
{
public string Ref { get; set; }
public string Email { get; set; }
}

}
2 changes: 1 addition & 1 deletion Installation/NBrightBuyDepot.dnn
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<dotnetnuke type="Package" version="5.0">
<packages>
<package name="NBrightBuyDepot" type="Module" version="1.0.0">
<package name="NBrightBuyDepot" type="Module" version="1.0.1">
<friendlyName>NBrightBuyDepot</friendlyName>
<description>NBrightBuyDepot: Depot Admin for NBS</description>
<iconFile />
Expand Down
Binary file removed Installation/NBrightBuyDepot_1.0.0.1_Install.zip
Binary file not shown.
Binary file added Installation/NBrightBuyDepot_1.0.1.0_Install.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.1")]
[assembly: AssemblyFileVersion("1.0.0.1")]
[assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.1.0")]

0 comments on commit a3b2a44

Please sign in to comment.