Ejemplo n.º 1
0
        public bool Save()
        {
            _4screen.CSB.DataAccess.Business.StyleSettingsWidget styleSettingsWidget = GetStyleSettings();

            CSBooster_DataContext dataContext = new CSBooster_DataContext(Helper.GetSiemeConnectionString());
            var widgetInstance = (from instances in dataContext.hitbl_WidgetInstance_INs.Where(x => x.INS_ID == InstanceId) select instances).FirstOrDefault();

            if (RcbTemplates.SelectedValue != Constants.DEFAULT_LAYOUTID)
            {
                dataContext.hisp_WidgetTemplates_ReduceCount(widgetInstance.INS_PAG_ID, widgetInstance.WTP_ID);

                var widgetTemplate = (from templates in dataContext.hitbl_WidgetTemplates_WTPs.Where(x => x.WTP_ID == widgetInstance.WTP_ID) select templates).FirstOrDefault();

                if (RcbTemplates.SelectedValue != "Custom")
                {
                    if (widgetTemplate != null && !widgetTemplate.WTP_ExplicitInserted)
                    {
                        dataContext.hitbl_WidgetTemplates_WTPs.DeleteOnSubmit(widgetTemplate);
                    }
                    widgetInstance.WTP_ID = RcbTemplates.SelectedValue.ToGuid();
                }
                else
                {
                    if (widgetTemplate == null || widgetTemplate.WTP_ExplicitInserted)
                    {
                        widgetTemplate                      = new hitbl_WidgetTemplates_WTP();
                        widgetTemplate.WTP_ID               = Guid.NewGuid();
                        widgetTemplate.UserID               = UserProfile.Current.UserId;
                        widgetTemplate.WTP_Name             = GetRandomName();
                        widgetTemplate.WTP_ExplicitInserted = false;
                        widgetTemplate.WTP_Template         = styleSettingsWidget.CustomStyle.Replace("widget", "widget_" + widgetTemplate.WTP_Name);
                        widgetTemplate.WTP_XMLTemplate      = styleSettingsWidget.GetXml();
                        dataContext.hitbl_WidgetTemplates_WTPs.InsertOnSubmit(widgetTemplate);

                        widgetInstance.WTP_ID = widgetTemplate.WTP_ID;
                    }
                    else
                    {
                        widgetTemplate.WTP_Template    = styleSettingsWidget.CustomStyle.Replace("widget", "widget_" + widgetTemplate.WTP_Name);
                        widgetTemplate.WTP_XMLTemplate = styleSettingsWidget.GetXml();
                    }
                }
                dataContext.SubmitChanges();

                dataContext.hisp_WidgetTemplates_IncreaseCount(widgetInstance.INS_PAG_ID, widgetInstance.WTP_ID);
            }
            else
            {
                widgetInstance.WTP_ID = Constants.DEFAULT_LAYOUTID.ToGuid();
                dataContext.SubmitChanges();
            }

            return(true);
        }