Example #1
0
        /// <summary>
        /// Save Variable
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public static Variable Save(Variable variable, Guid langID)
        {
            using (var context = new TSMContext())
            {
                //Check if variable exists or not
                if (context.Variables.Where(v => v.ID == variable.ID).Count() > 0)
                {
                    var variable_lang   = context.Variable_Languages.Where(cl => cl.ID == variable.ID).FirstOrDefault();
                    var variable_choice = context.Choices.Include("Choice_Languages").Where(c => c.VariableID == variable.ID).ToList();
                    if (variable_lang != null)
                    {
                        context.Variable_Languages.Remove(variable_lang);
                    }


                    if (variable_choice != null)
                    {
                        foreach (var item in variable_choice)
                        {
                            Choice_Language itemChoiceLang = item.Choice_Languages.Where(c => c.LanguageID == langID).FirstOrDefault();
                            if (itemChoiceLang != null)
                            {
                                context.Choice_Languages.Remove(itemChoiceLang);
                                context.Choices.Remove(item);
                            }
                        }
                    }
                    context.Choices.AddRange(variable.Choices);
                    context.Variable_Languages.AddRange(variable.Variable_Languages);
                    context.Variables.Attach(variable);
                    context.Entry(variable).State = EntityState.Modified;
                }
                else
                {
                    context.Variables.Add(variable);
                }
                //Save to DB
                try
                {
                    context.SaveChanges();
                }
                catch // (Exception ee)
                {
                    // ErrorLog.WriteLog("VariableService", "Save", ee, "");
                }
                return(variable);
            }
        }
Example #2
0
        /// <summary>
        /// Save
        /// </summary>
        public Variable Save()
        {
            Variable variable = new Variable();

            try
            {
                if (this.ID == Guid.Empty)
                {
                    variable             = new Variable();
                    variable.CreatedBy   = TSM.Model.TSMContext.CurrentUser.ID;
                    variable.CreatedDate = DateTime.UtcNow;
                    int count = VariableService.VariableCount();
                    variable.DisplayOrder = count + 1;
                }
                else
                {
                    variable = this.GetVariableFull(this.ID, TSM.Model.TSMContext.CurrentLanguageID);
                    variable.LastModifiedBy   = TSM.Model.TSMContext.CurrentUser.ID;
                    variable.LastModifiedDate = DateTime.UtcNow;
                }
                //FOR Variable
                variable.Type                       = this.Variable_Type;
                variable.VariableCategory           = this.VariableCategory;
                variable.ShowInAdvancedSearchFilter = this.Is_AdvanceSearchFilter;
                variable.ShowInDetailPage           = this.ShowInDetailPage;
                variable.ShowInReport               = this.ShowInReport;
                variable.IsSytemDefined             = this.IsSystemDefined;
                variable.FilterHeading              = this.FilterHeading;
                variable.IsActive                   = this.IsActive;
                variable.IsMandatory                = this.IsMandetory;


                variable.Variable_Languages.Add(new Variable_Language
                {
                    ID          = this.ID,
                    LanguageID  = TSM.Model.TSMContext.CurrentLanguageID,
                    Name        = this.Variable_Name,
                    DisplayName = this.Variable_DisplayName,
                    Description = this.Variable_Description
                });
                List <Choice> clist = new List <Choice>();
                if (this.ManageChoiceForString != null)
                {
                    if (this.ManageChoiceForString.Count > 0)
                    {
                        Choice_Language clang  = new Choice_Language();
                        Choice          choice = new Choice();

                        Char[] split = new Char[1];
                        split[0] = '/';

                        for (int i = 0; i < this.ManageChoiceForString.Count; i++)
                        {
                            string[] str = this.ManageChoiceForString[i].Split(split, StringSplitOptions.RemoveEmptyEntries);
                            choice = new Choice();
                            clang  = new Choice_Language();
                            choice.Choice_Languages = new List <Choice_Language>();
                            if (str[0] != "00000000-0000-0000-0000-000000000000")
                            {
                                choice.ID = new Guid(str[0]);
                                clang.ID  = new Guid(str[0]);
                            }
                            choice.VariableID = variable.ID;
                            choice.IsActive   = variable.IsActive;

                            clang.Name       = str[1];
                            clang.LanguageID = TSM.Model.TSMContext.CurrentLanguageID;
                            clang.ID         = choice.ID;
                            choice.Choice_Languages.Add(clang);
                            clist.Add(choice);
                        }
                    }
                    variable.Choices = clist;
                }
                VariableService.Save(variable, TSM.Model.TSMContext.CurrentSiteLanguageID);
                try
                {
                    bool isactive = variable.IsActive;
                    if (!isactive)
                    {
                        DeleteFromXML(variable.ID);
                    }
                    else
                    {
                        UpdateXML();
                    }
                }
                catch (Exception ee)
                {
                    ErrorLog.WriteLog("ManageVariable", "SaveXML", ee, "");
                }


                if (this.ID != Guid.Empty)
                {
                    this.ManageChoices = new List <SelectListItem>();
                    variable.Choices.Select(c => c.Choice_Languages).ToList().ForEach(cl =>
                                                                                      this.ManageChoices.Add(
                                                                                          new SelectListItem()
                    {
                        Value    = (cl[0].ID == null ? null : (cl[0].ID.ToString() + "/" + cl[0].Name.ToString())),
                        Text     = cl[0].Name,
                        Selected = true
                    }));
                    this.ManageChoiceForString = null;
                }
            }
            catch (Exception ex)
            {
                ErrorLog.WriteLog("ManageUserModel", "Save", ex, "");
            }

            return(variable);
        }
Example #3
0
        /// <summary>
        /// Get Variable Details
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static Variable GetVariable(Guid id, Guid languageID)
        {
            Variable objVariables = new Variable();
            //Variable
            List <Variable> lstVariables = new List <Variable>();
            //Choice
            Choice                 objChoice;
            Choice_Language        objChoiceLang;
            List <Choice>          lstChoice     = new List <Choice>();
            List <Choice_Language> lstChoiceLang = new List <Choice_Language>();

            using (var context = new TSMContext())
            {
                // return context.Variables.Where(v => v.ID == id).FirstOrDefault();
                var result = from v in context.Variables
                             join vl in context.Variable_Languages
                             on v.ID equals vl.ID
                             where v.ID == id && vl.LanguageID == languageID
                             select new
                {
                    ID   = v.ID,
                    Type = v.Type,
                    ShowInAdvancedSearchFilter = v.ShowInAdvancedSearchFilter,
                    ShowInDetailPage           = v.ShowInDetailPage,
                    ShowInReport     = v.ShowInReport,
                    IsSytemDefined   = v.IsSytemDefined,
                    FilterHeading    = v.FilterHeading,
                    IsActive         = v.IsActive,
                    IsMandatory      = v.IsMandatory,
                    CreatedBy        = v.CreatedBy,
                    CreatedDate      = v.CreatedDate,
                    DisplayOrder     = v.DisplayOrder,
                    VariableCategory = v.VariableCategory,

                    LanguageID  = vl.LanguageID,
                    Name        = vl.Name,
                    DisplayName = vl.DisplayName,
                    Description = vl.Description
                };
                //Variable Language
                Variable_Language        objVariable_Language;
                List <Variable_Language> lstVariable_Language = new List <Variable_Language>();

                foreach (var val in result)
                {
                    objVariables         = new Variable();
                    objVariable_Language = new Variable_Language();
                    lstVariable_Language = new List <Variable_Language>();

                    objVariables.ID   = val.ID;
                    objVariables.Type = val.Type;
                    objVariables.ShowInAdvancedSearchFilter = val.ShowInAdvancedSearchFilter;
                    objVariables.ShowInDetailPage           = val.ShowInDetailPage;
                    objVariables.ShowInReport     = val.ShowInReport;
                    objVariables.IsSytemDefined   = val.IsSytemDefined;
                    objVariables.FilterHeading    = val.FilterHeading;
                    objVariables.IsActive         = val.IsActive;
                    objVariables.IsMandatory      = val.IsMandatory;
                    objVariables.CreatedDate      = val.CreatedDate;
                    objVariables.CreatedBy        = val.CreatedBy;
                    objVariables.DisplayOrder     = val.DisplayOrder;
                    objVariables.VariableCategory = val.VariableCategory;

                    objVariable_Language.LanguageID  = val.LanguageID;
                    objVariable_Language.Name        = val.Name;
                    objVariable_Language.DisplayName = val.DisplayName;
                    objVariable_Language.Description = val.Description;
                    objVariable_Language.ID          = val.ID;

                    lstVariable_Language.Add(objVariable_Language);
                    objVariables.Variable_Languages = lstVariable_Language;
                }
            }
            //For choice
            using (var context = new TSMContext())
            {
                var ChoiceResult = from C in context.Choices.AsEnumerable()
                                   join CL in context.Choice_Languages.AsEnumerable()
                                   on C.ID equals CL.ID
                                   where C.VariableID == id && CL.LanguageID == languageID
                                   select new
                {
                    ChoiceID         = C.ID,
                    ChoiceIsActive   = C.IsActive,
                    ChoicelLangId    = CL.LanguageID,
                    ChoiceLangName   = CL.Name,
                    ChoiceLanguageID = CL.ID,
                    ChoiceVariableId = C.VariableID
                };

                lstChoice = new List <Choice>();
                foreach (var ch in ChoiceResult)
                {
                    lstChoiceLang            = new List <Choice_Language>();
                    objChoice                = new Choice();
                    objChoiceLang            = new Choice_Language();
                    objChoice.ID             = ch.ChoiceID;
                    objChoice.IsActive       = ch.ChoiceIsActive;
                    objChoiceLang.LanguageID = ch.ChoicelLangId;
                    objChoiceLang.Name       = ch.ChoiceLangName;
                    objChoiceLang.ID         = ch.ChoiceLanguageID;
                    objChoice.VariableID     = ch.ChoiceVariableId;

                    lstChoiceLang.Add(objChoiceLang);
                    objChoice.Choice_Languages = lstChoiceLang;

                    lstChoice.Add(objChoice);
                }
                objVariables.Choices = lstChoice;
                lstVariables.Add(objVariables);
            }
            return(lstVariables[0]);
        }