Example #1
0
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "~/ControlRoom/Modules/Tenant/TenantList.aspx";

            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                    {
                        masterPage.PageMessage = SRPResources.RefreshOK;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "add" || e.CommandName.ToLower() == "addandback")
            {
                try
                {
                    var obj = new Core.Utilities.Tenant();

                    obj.Name         = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName  = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName    = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description  = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("Description")).Text;
                    obj.DomainName   = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications     = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers            = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges            = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents            = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText        = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText        = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText        = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();
                    }
                    catch (Exception exc) {
                        this.Log().Error("Error parsing new tenant information: {0}", exc.Message);
                    }

                    /*
                     *
                     * obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                     * obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                     * obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                     * obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                     * obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                     * obj.FldText1 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText1")).Text;
                     * obj.FldText2 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText2")).Text;
                     * obj.FldText3 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText3")).Text;
                     */

                    // TODO security - don't give all new tenants the same password
                    string newPassword = "******";

                    obj.AddedDate   = DateTime.Now;
                    obj.AddedUser   = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username; //"N/A";  // Get from session
                    obj.LastModDate = obj.AddedDate;
                    obj.LastModUser = obj.AddedUser;

                    var sysadmin = new SRPUser();
                    sysadmin.Username     = ((TextBox)((DetailsView)sender).FindControl("sysadmin")).Text;
                    sysadmin.NewPassword  = newPassword;
                    sysadmin.FirstName    = ((TextBox)((DetailsView)sender).FindControl("fname")).Text;
                    sysadmin.LastName     = ((TextBox)((DetailsView)sender).FindControl("lname")).Text;
                    sysadmin.EmailAddress = ((TextBox)((DetailsView)sender).FindControl("email")).Text;
                    sysadmin.Division     = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    sysadmin.Department   = sysadmin.Title = "";
                    sysadmin.AddedDate    = DateTime.Now;
                    sysadmin.AddedUser    = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username; //"N/A";  // Get from session
                    sysadmin.LastModDate  = sysadmin.AddedDate;
                    sysadmin.LastModUser  = sysadmin.AddedUser;
                    sysadmin.IsActive     = true;

                    if (sysadmin.IsValid(BusinessRulesValidationMode.INSERT))
                    {
                        if (obj.IsValid(BusinessRulesValidationMode.INSERT))
                        {
                            obj.Insert();
                            var TID = obj.TenID;

                            TenantInitialize.InitializeSecurity(sysadmin, TID, newPassword);
                            TenantInitialize.InitializeData(TID);

                            if (e.CommandName.ToLower() == "addandback")
                            {
                                Response.Redirect(returnURL);
                            }

                            lblPK.Text = obj.TenID.ToString();

                            odsData.DataBind();
                            dv.DataBind();
                            dv.ChangeMode(DetailsViewMode.Edit);

                            var masterPage = (IControlRoomMaster)Master;
                            masterPage.PageMessage = SRPResources.AddedOK;
                        }
                        else
                        {
                            var    masterPage = (IControlRoomMaster)Master;
                            string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                            foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                            {
                                message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                            }
                            message = string.Format("{0}</ul>", message);
                            masterPage.PageError = message;
                        }
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in sysadmin.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                    this.Log().Error("Error adding tenant: {0}", ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    int pk  = int.Parse(lblPK.Text);
                    obj.Fetch(pk);

                    obj.Name         = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName  = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName    = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description  = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("Description")).Text;
                    obj.DomainName   = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications     = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers            = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges            = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents            = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText        = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText        = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText        = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();
                    }
                    catch (Exception exc) {  }

                    /*
                     *
                     * obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                     * obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                     * obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                     * obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                     * obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                     * obj.FldText1 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText1")).Text;
                     * obj.FldText2 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText2")).Text;
                     * obj.FldText3 = ((CKEditor.NET.CKEditorControl)((DetailsView)sender).FindControl("FldText3")).Text;
                     */

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                        obj.Update();
                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
Example #2
0
        protected void GvRowCommand(object sender, GridViewCommandEventArgs e)
        {
            string editpage = "~/ControlRoom/Modules/Tenant/TenantAddEdit.aspx";

            if (e.CommandName.ToLower() == "addrecord")
            {
                Session["TeMID"] = string.Empty; Response.Redirect(editpage);
            }

            if (e.CommandName.ToLower() == "reinit")
            {
                int key = Convert.ToInt32(e.CommandArgument);
                TenantInitialize.ReInitializeMissingData(key);

                var masterPage = (IControlRoomMaster)Master;
                if (masterPage != null)
                {
                    masterPage.PageMessage = "All missing base data re-initialized";
                }
            }


            if (e.CommandName.ToLower() == "editrecord")
            {
                int key = Convert.ToInt32(e.CommandArgument);
                Session["TeMID"] = key; Response.Redirect(editpage);
            }
            if (e.CommandName.ToLower() == "deleterecord")
            {
                var key = Convert.ToInt32(e.CommandArgument);
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    if (obj.IsValid(BusinessRulesValidationMode.DELETE))
                    {
                        var t = GRA.SRP.Core.Utilities.Tenant.FetchObject(key);
                        t.isActiveFlag = false;
                        t.Update();

                        //GRA.SRP.Core.Utilities.Tenant.FetchObject(key).Delete();

                        LoadData();
                        var masterPage = (IControlRoomMaster)Master;
                        if (masterPage != null)
                        {
                            masterPage.PageMessage = SRPResources.DeleteOK;
                        }
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        if (masterPage != null)
                        {
                            masterPage.PageError = message;
                        }
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                    {
                        masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                    }
                }
            }
        }
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "~/ControlRoom/Modules/Tenant/TenantList.aspx";
            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {          
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null) masterPage.PageMessage = SRPResources.RefreshOK;
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "add" || e.CommandName.ToLower() == "addandback")
            {
                try
                {
                    var obj = new Core.Utilities.Tenant();

                    obj.Name = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description = ((HtmlTextArea)((DetailsView)sender).FindControl("Description")).InnerHtml;
                    obj.DomainName = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();
                    }
                    catch (Exception exc) {
                        this.Log().Error("Error parsing new tenant information: {0}", exc.Message);
                    }

                    /*
                    
                    obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                    obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                    obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                    obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                    obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                    obj.FldText1 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText1")).Text;
                    obj.FldText2 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText2")).Text;
                    obj.FldText3 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText3")).Text;
                    */

                    // TODO security - don't give all new tenants the same password
                    string newPassword = "******";

					obj.AddedDate = DateTime.Now;
                    obj.AddedUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session
                    obj.LastModDate = obj.AddedDate;
                    obj.LastModUser = obj.AddedUser;

                    var sysadmin = new SRPUser();
                    sysadmin.Username = ((TextBox)((DetailsView)sender).FindControl("sysadmin")).Text;
                    sysadmin.NewPassword = newPassword;
                    sysadmin.FirstName = ((TextBox)((DetailsView)sender).FindControl("fname")).Text;
                    sysadmin.LastName = ((TextBox)((DetailsView)sender).FindControl("lname")).Text;
                    sysadmin.EmailAddress = ((TextBox)((DetailsView)sender).FindControl("email")).Text;
                    sysadmin.Division = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    sysadmin.Department = sysadmin.Title= string.Empty;
                    sysadmin.AddedDate = DateTime.Now;
                    sysadmin.AddedUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session
                    sysadmin.LastModDate = sysadmin.AddedDate;
                    sysadmin.LastModUser = sysadmin.AddedUser;
                    sysadmin.IsActive = true;

                    if (sysadmin.IsValid(BusinessRulesValidationMode.INSERT))
                    {
                        if (obj.IsValid(BusinessRulesValidationMode.INSERT))
                        {
                            obj.Insert();
                            var TID = obj.TenID;

                            TenantInitialize.InitializeSecurity(sysadmin, TID, newPassword);
                            TenantInitialize.InitializeData(TID);

                            if (e.CommandName.ToLower() == "addandback")
                            {
                                Response.Redirect(returnURL);
                            }

                            lblPK.Text = obj.TenID.ToString();

                            odsData.DataBind();
                            dv.DataBind();
                            dv.ChangeMode(DetailsViewMode.Edit);

                            var masterPage = (IControlRoomMaster)Master;
                            masterPage.PageMessage = SRPResources.AddedOK;
                        }
                        else
                        {
                            var masterPage = (IControlRoomMaster)Master;
                            string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                            foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                            {
                                message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                            }
                            message = string.Format("{0}</ul>", message);
                            masterPage.PageError = message;
                        }     

                    }
                    else
                    {
                        var masterPage = (IControlRoomMaster)Master;
                        string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in sysadmin.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }     
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                    this.Log().Error("Error adding tenant: {0}", ex.Message);
                }
            }
            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    int pk = int.Parse(lblPK.Text);
                    obj.Fetch(pk);

                    obj.Name = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description = ((HtmlTextArea)((DetailsView)sender).FindControl("Description")).InnerHtml;
                    obj.DomainName = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();                        
                    }
                    catch(Exception exc) {
                        this.Log().Error("Error in tenant save: {0}", exc.Message);
                    }

                    /*

                    obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                    obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                    obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                    obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                    obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                    obj.FldText1 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText1")).Text;
                    obj.FldText2 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText2")).Text;
                    obj.FldText3 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText3")).Text;
                    */

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                         obj.Update();
                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var masterPage = (IControlRoomMaster)Master;
                        string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }     
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
        public static int Update(Tenant o)
        {

            int iReturn = -1; //assume the worst

            SqlParameter[] arrParams = new SqlParameter[29];

            arrParams[0] = new SqlParameter("@TenID", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.TenID, o.TenID.GetTypeCode()));
            arrParams[1] = new SqlParameter("@Name", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.Name, o.Name.GetTypeCode()));
            arrParams[2] = new SqlParameter("@LandingName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LandingName, o.LandingName.GetTypeCode()));
            arrParams[3] = new SqlParameter("@AdminName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AdminName, o.AdminName.GetTypeCode()));
            arrParams[4] = new SqlParameter("@isActiveFlag", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.isActiveFlag, o.isActiveFlag.GetTypeCode()));
            arrParams[5] = new SqlParameter("@isMasterFlag", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.isMasterFlag, o.isMasterFlag.GetTypeCode()));
            arrParams[6] = new SqlParameter("@Description", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.Description, o.Description.GetTypeCode()));
            arrParams[7] = new SqlParameter("@DomainName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.DomainName, o.DomainName.GetTypeCode()));
            arrParams[8] = new SqlParameter("@showNotifications", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showNotifications, o.showNotifications.GetTypeCode()));
            arrParams[9] = new SqlParameter("@showOffers", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showOffers, o.showOffers.GetTypeCode()));
            arrParams[10] = new SqlParameter("@showBadges", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showBadges, o.showBadges.GetTypeCode()));
            arrParams[11] = new SqlParameter("@showEvents", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showEvents, o.showEvents.GetTypeCode()));
            arrParams[12] = new SqlParameter("@NotificationsMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.NotificationsMenuText, o.NotificationsMenuText.GetTypeCode()));
            arrParams[13] = new SqlParameter("@OffersMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.OffersMenuText, o.OffersMenuText.GetTypeCode()));
            arrParams[14] = new SqlParameter("@BadgesMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.BadgesMenuText, o.BadgesMenuText.GetTypeCode()));
            arrParams[15] = new SqlParameter("@EventsMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.EventsMenuText, o.EventsMenuText.GetTypeCode()));
            arrParams[16] = new SqlParameter("@LastModDate", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LastModDate, o.LastModDate.GetTypeCode()));
            arrParams[17] = new SqlParameter("@LastModUser", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LastModUser, o.LastModUser.GetTypeCode()));
            arrParams[18] = new SqlParameter("@AddedDate", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AddedDate, o.AddedDate.GetTypeCode()));
            arrParams[19] = new SqlParameter("@AddedUser", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AddedUser, o.AddedUser.GetTypeCode()));
            arrParams[20] = new SqlParameter("@FldInt1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt1, o.FldInt1.GetTypeCode()));
            arrParams[21] = new SqlParameter("@FldInt2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt2, o.FldInt2.GetTypeCode()));
            arrParams[22] = new SqlParameter("@FldInt3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt3, o.FldInt3.GetTypeCode()));
            arrParams[23] = new SqlParameter("@FldBit1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit1, o.FldBit1.GetTypeCode()));
            arrParams[24] = new SqlParameter("@FldBit2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit2, o.FldBit2.GetTypeCode()));
            arrParams[25] = new SqlParameter("@FldBit3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit3, o.FldBit3.GetTypeCode()));
            arrParams[26] = new SqlParameter("@FldText1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText1, o.FldText1.GetTypeCode()));
            arrParams[27] = new SqlParameter("@FldText2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText2, o.FldText2.GetTypeCode()));
            arrParams[28] = new SqlParameter("@FldText3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText3, o.FldText3.GetTypeCode()));

            try
            {

                iReturn = SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "app_Tenant_Update", arrParams);

            }

            catch (SqlException exx)
            {

                System.Diagnostics.Debug.Write(exx.Message);

            }

            return iReturn;

        }
        public static int Delete(Tenant o)
        {

            int iReturn = -1; //assume the worst

            SqlParameter[] arrParams = new SqlParameter[1];

            arrParams[0] = new SqlParameter("@TenID", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.TenID, o.TenID.GetTypeCode()));

            try
            {

                iReturn = SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "app_Tenant_Delete", arrParams);

            }

            catch (SqlException exx)
            {

                System.Diagnostics.Debug.Write(exx.Message);

            }

            return iReturn;

        }
        public static int Insert(Tenant o)
        {

            SqlParameter[] arrParams = new SqlParameter[29];

            arrParams[0] = new SqlParameter("@Name", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.Name, o.Name.GetTypeCode()));
            arrParams[1] = new SqlParameter("@LandingName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LandingName, o.LandingName.GetTypeCode()));
            arrParams[2] = new SqlParameter("@AdminName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AdminName, o.AdminName.GetTypeCode()));
            arrParams[3] = new SqlParameter("@isActiveFlag", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.isActiveFlag, o.isActiveFlag.GetTypeCode()));
            arrParams[4] = new SqlParameter("@isMasterFlag", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.isMasterFlag, o.isMasterFlag.GetTypeCode()));
            arrParams[5] = new SqlParameter("@Description", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.Description, o.Description.GetTypeCode()));
            arrParams[6] = new SqlParameter("@DomainName", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.DomainName, o.DomainName.GetTypeCode()));
            arrParams[7] = new SqlParameter("@showNotifications", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showNotifications, o.showNotifications.GetTypeCode()));
            arrParams[8] = new SqlParameter("@showOffers", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showOffers, o.showOffers.GetTypeCode()));
            arrParams[9] = new SqlParameter("@showBadges", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showBadges, o.showBadges.GetTypeCode()));
            arrParams[10] = new SqlParameter("@showEvents", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.showEvents, o.showEvents.GetTypeCode()));
            arrParams[11] = new SqlParameter("@NotificationsMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.NotificationsMenuText, o.NotificationsMenuText.GetTypeCode()));
            arrParams[12] = new SqlParameter("@OffersMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.OffersMenuText, o.OffersMenuText.GetTypeCode()));
            arrParams[13] = new SqlParameter("@BadgesMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.BadgesMenuText, o.BadgesMenuText.GetTypeCode()));
            arrParams[14] = new SqlParameter("@EventsMenuText", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.EventsMenuText, o.EventsMenuText.GetTypeCode()));
            arrParams[15] = new SqlParameter("@LastModDate", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LastModDate, o.LastModDate.GetTypeCode()));
            arrParams[16] = new SqlParameter("@LastModUser", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.LastModUser, o.LastModUser.GetTypeCode()));
            arrParams[17] = new SqlParameter("@AddedDate", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AddedDate, o.AddedDate.GetTypeCode()));
            arrParams[18] = new SqlParameter("@AddedUser", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.AddedUser, o.AddedUser.GetTypeCode()));
            arrParams[19] = new SqlParameter("@FldInt1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt1, o.FldInt1.GetTypeCode()));
            arrParams[20] = new SqlParameter("@FldInt2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt2, o.FldInt2.GetTypeCode()));
            arrParams[21] = new SqlParameter("@FldInt3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldInt3, o.FldInt3.GetTypeCode()));
            arrParams[22] = new SqlParameter("@FldBit1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit1, o.FldBit1.GetTypeCode()));
            arrParams[23] = new SqlParameter("@FldBit2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit2, o.FldBit2.GetTypeCode()));
            arrParams[24] = new SqlParameter("@FldBit3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldBit3, o.FldBit3.GetTypeCode()));
            arrParams[25] = new SqlParameter("@FldText1", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText1, o.FldText1.GetTypeCode()));
            arrParams[26] = new SqlParameter("@FldText2", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText2, o.FldText2.GetTypeCode()));
            arrParams[27] = new SqlParameter("@FldText3", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.FldText3, o.FldText3.GetTypeCode()));
            arrParams[28] = new SqlParameter("@TenID", GRA.SRP.Core.Utilities.GlobalUtilities.DBSafeValue(o.TenID, o.TenID.GetTypeCode()));
            arrParams[28].Direction = ParameterDirection.Output;

            SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "app_Tenant_Insert", arrParams);

            o.TenID = int.Parse(arrParams[28].Value.ToString());

            return o.TenID;

        }
        public bool Fetch(int TenID)
        {

            // declare reader

            SqlDataReader dr;

            SqlParameter[] arrParams = new SqlParameter[1];
            arrParams[0] = new SqlParameter("@TenID", TenID);

            dr = SqlHelper.ExecuteReader(conn, CommandType.StoredProcedure, "app_Tenant_GetByID", arrParams);

            if (dr.Read())
            {

                // declare return value

                Tenant result = new Tenant();

                DateTime _datetime;

                int _int;

                if (int.TryParse(dr["TenID"].ToString(), out _int)) this.TenID = _int;
                this.Name = dr["Name"].ToString();
                this.LandingName = dr["LandingName"].ToString();
                this.AdminName = dr["AdminName"].ToString();
                this.isActiveFlag = bool.Parse(dr["isActiveFlag"].ToString());
                this.isMasterFlag = bool.Parse(dr["isMasterFlag"].ToString());
                this.Description = dr["Description"].ToString();
                this.DomainName = dr["DomainName"].ToString();
                this.showNotifications = bool.Parse(dr["showNotifications"].ToString());
                this.showOffers = bool.Parse(dr["showOffers"].ToString());
                this.showBadges = bool.Parse(dr["showBadges"].ToString());
                this.showEvents = bool.Parse(dr["showEvents"].ToString());
                this.NotificationsMenuText = dr["NotificationsMenuText"].ToString();
                this.OffersMenuText = dr["OffersMenuText"].ToString();
                this.BadgesMenuText = dr["BadgesMenuText"].ToString();
                this.EventsMenuText = dr["EventsMenuText"].ToString();
                if (DateTime.TryParse(dr["LastModDate"].ToString(), out _datetime)) this.LastModDate = _datetime;
                this.LastModUser = dr["LastModUser"].ToString();
                if (DateTime.TryParse(dr["AddedDate"].ToString(), out _datetime)) this.AddedDate = _datetime;
                this.AddedUser = dr["AddedUser"].ToString();
                if (int.TryParse(dr["FldInt1"].ToString(), out _int)) this.FldInt1 = _int;
                if (int.TryParse(dr["FldInt2"].ToString(), out _int)) this.FldInt2 = _int;
                if (int.TryParse(dr["FldInt3"].ToString(), out _int)) this.FldInt3 = _int;
                this.FldBit1 = bool.Parse(dr["FldBit1"].ToString());
                this.FldBit2 = bool.Parse(dr["FldBit2"].ToString());
                this.FldBit3 = bool.Parse(dr["FldBit3"].ToString());
                this.FldText1 = dr["FldText1"].ToString();
                this.FldText2 = dr["FldText2"].ToString();
                this.FldText3 = dr["FldText3"].ToString();

                dr.Close();

                return true;

            }

            dr.Close();

            return false;

        }
        protected void GvRowCommand(object sender, GridViewCommandEventArgs e)
        {
            string editpage = "~/ControlRoom/Modules/Tenant/TenantAddEdit.aspx";
            if (e.CommandName.ToLower() == "addrecord")
            {
                Session["TeMID"]= string.Empty; Response.Redirect(editpage);
            }

            if (e.CommandName.ToLower() == "reinit")
            {
                int key = Convert.ToInt32(e.CommandArgument);
                TenantInitialize.ReInitializeMissingData(key);

                var masterPage = (IControlRoomMaster)Master;
                if (masterPage != null) masterPage.PageMessage = "All missing base data re-initialized";
            }


            if (e.CommandName.ToLower() == "editrecord")
            {
                int key = Convert.ToInt32(e.CommandArgument);
                Session["TeMID"] = key; Response.Redirect(editpage);
            }
            if (e.CommandName.ToLower() == "deleterecord")
            {
                var key = Convert.ToInt32(e.CommandArgument);
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    if (obj.IsValid(BusinessRulesValidationMode.DELETE))
                    {
                        var t = GRA.SRP.Core.Utilities.Tenant.FetchObject(key);
                        t.isActiveFlag = false;
                        t.Update();
                            
                        //GRA.SRP.Core.Utilities.Tenant.FetchObject(key).Delete();

                        LoadData();
                        var masterPage = (IControlRoomMaster)Master;
                        if (masterPage != null) masterPage.PageMessage = SRPResources.DeleteOK;
                    }
                    else
                    {
                        var masterPage = (IControlRoomMaster)Master;
                        string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        if (masterPage != null) masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                        masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "~/ControlRoom/Default.aspx";

            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null)
                    {
                        masterPage.PageMessage = SRPResources.RefreshOK;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }

            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    int pk  = int.Parse(lblPK.Text);
                    obj.Fetch(pk);

                    obj.Name         = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName  = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName    = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description  = ((HtmlTextArea)((DetailsView)sender).FindControl("Description")).InnerHtml;
                    obj.DomainName   = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications     = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers            = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges            = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents            = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText        = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText        = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText        = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();
                    }
                    catch (Exception exc) {
                        this.Log().Error("Error in my tenant account save: {0}", exc.Message);
                    }

                    /*
                     *
                     * obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                     * obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                     * obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                     * obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                     * obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                     * obj.FldText1 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText1")).Text;
                     * obj.FldText2 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText2")).Text;
                     * obj.FldText3 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText3")).Text;
                     */

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                        obj.Update();
                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var    masterPage = (IControlRoomMaster)Master;
                        string message    = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }
        protected void DvItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            string returnURL = "~/ControlRoom/Default.aspx";
            if (e.CommandName.ToLower() == "back")
            {
                Response.Redirect(returnURL);
            }
            if (e.CommandName.ToLower() == "refresh")
            {
                try
                {          
                    odsData.DataBind();
                    dv.DataBind();
                    dv.ChangeMode(DetailsViewMode.Edit);

                    var masterPage = (IControlRoomMaster)Master;
                    if (masterPage != null) masterPage.PageMessage = SRPResources.RefreshOK;
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
            
            if (e.CommandName.ToLower() == "save" || e.CommandName.ToLower() == "saveandback")
            {
                try
                {
                    var obj = new GRA.SRP.Core.Utilities.Tenant();
                    int pk = int.Parse(lblPK.Text);
                    obj.Fetch(pk);

                    obj.Name = ((TextBox)((DetailsView)sender).FindControl("Name")).Text;
                    obj.LandingName = ((TextBox)((DetailsView)sender).FindControl("LandingName")).Text;
                    obj.AdminName = ((TextBox)((DetailsView)sender).FindControl("AdminName")).Text;
                    obj.isActiveFlag = ((CheckBox)((DetailsView)sender).FindControl("isActiveFlag")).Checked;
                    obj.isMasterFlag = ((CheckBox)((DetailsView)sender).FindControl("isMasterFlag")).Checked;
                    obj.Description = ((HtmlTextArea)((DetailsView)sender).FindControl("Description")).InnerHtml;
                    obj.DomainName = ((TextBox)((DetailsView)sender).FindControl("DomainName")).Text;

                    try
                    {
                        obj.showNotifications = ((CheckBox)((DetailsView)sender).FindControl("showNotifications")).Checked;
                        obj.showOffers = ((CheckBox)((DetailsView)sender).FindControl("showOffers")).Checked;
                        obj.showBadges = ((CheckBox)((DetailsView)sender).FindControl("showBadges")).Checked;
                        obj.showEvents = ((CheckBox)((DetailsView)sender).FindControl("showEvents")).Checked;
                        obj.NotificationsMenuText = ((TextBox)((DetailsView)sender).FindControl("NotificationsMenuText")).Text;
                        obj.OffersMenuText = ((TextBox)((DetailsView)sender).FindControl("OffersMenuText")).Text;
                        obj.BadgesMenuText = ((TextBox)((DetailsView)sender).FindControl("BadgesMenuText")).Text;
                        obj.EventsMenuText = ((TextBox)((DetailsView)sender).FindControl("EventsMenuText")).Text;

                        obj.FldInt1 = ((TextBox)((DetailsView)sender).FindControl("FldInt1")).Text.SafeToInt();                        
                    }
                    catch(Exception exc) {
                        this.Log().Error("Error in my tenant account save: {0}", exc.Message);
                    }

                    /*

                    obj.FldInt2 = ((TextBox)((DetailsView)sender).FindControl("FldInt2")).Text.SafeToInt();
                    obj.FldInt3 = ((TextBox)((DetailsView)sender).FindControl("FldInt3")).Text.SafeToInt();
                    obj.FldBit1 = ((CheckBox)((DetailsView)sender).FindControl("FldBit1")).Checked;
                    obj.FldBit2 = ((CheckBox)((DetailsView)sender).FindControl("FldBit2")).Checked;
                    obj.FldBit3 = ((CheckBox)((DetailsView)sender).FindControl("FldBit3")).Checked;
                    obj.FldText1 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText1")).Text;
                    obj.FldText2 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText2")).Text;
                    obj.FldText3 = ((HtmlTextArea)((DetailsView)sender).FindControl("FldText3")).Text;
                    */

                    obj.LastModDate = DateTime.Now;
                    obj.LastModUser = ((SRPUser)Session[SessionData.UserProfile.ToString()]).Username;  //"N/A";  // Get from session

                    if (obj.IsValid(BusinessRulesValidationMode.UPDATE))
                    {
                         obj.Update();
                        if (e.CommandName.ToLower() == "saveandback")
                        {
                            Response.Redirect(returnURL);
                        }

                        odsData.DataBind();
                        dv.DataBind();
                        dv.ChangeMode(DetailsViewMode.Edit);

                        var masterPage = (IControlRoomMaster)Master;
                        masterPage.PageMessage = SRPResources.SaveOK;
                    }
                    else
                    {
                        var masterPage = (IControlRoomMaster)Master;
                        string message = String.Format(SRPResources.ApplicationError1, "<ul>");
                        foreach (BusinessRulesValidationMessage m in obj.ErrorCodes)
                        {
                            message = string.Format(String.Format("{0}<li>{{0}}</li>", message), m.ErrorMessage);
                        }
                        message = string.Format("{0}</ul>", message);
                        masterPage.PageError = message;
                    }     
                }
                catch (Exception ex)
                {
                    var masterPage = (IControlRoomMaster)Master;
                    masterPage.PageError = String.Format(SRPResources.ApplicationError1, ex.Message);
                }
            }
        }