public IActionResult SaveEntity(TemplateMenu entity)
        {
            bool   result    = true;
            string message   = string.Empty;
            var    userEmail = User.GetSpecificClaim("Email");

            if (ModelState.IsValid)
            {
                entity.UserModified = userEmail;
                if (entity.Id == 0)
                {
                    entity.UserCreated = userEmail;
                    _templateMenuService.Add(entity, out result, out message);
                }
                else
                {
                    _templateMenuService.UpdateChangedProperties(entity, out result, out message);
                }

                return(new OkObjectResult(new GenericResult(result, message)));
            }
            else
            {
                List <string> listErrors  = ModelState.Values.SelectMany(v => v.Errors).Select(x => x.ErrorMessage).ToList();
                string        errorString = String.Join("\n", listErrors.ToArray());
                return(new OkObjectResult(new GenericResult(false, errorString)));
            }
        }
Пример #2
0
        public void UpdateChangedProperties(TemplateMenu templateMenu, out bool result, out string message)
        {
            // Header
            templateMenu = CalculateNutrition(templateMenu);
            _templateMenuRepository.UpdateChangedProperties(templateMenu.Id, templateMenu, out result, out message);

            // TemplateMenuForBodyClassifications
            var existedBodies = _templateMenuForBodyClassification.FindAll(x => x.TemplateMenuId == templateMenu.Id &&
                                                                           x.InsertedSource.Contains(CommonConstants.InsertedResource.TemplateMenu));

            _templateMenuForBodyClassification.RemoveMultiple(existedBodies.ToList(), out result, out message);
            if (templateMenu.TemplateMenuForBodyClassifications != null)
            {
                var addedBodies = templateMenu.TemplateMenuForBodyClassifications.Where(x => x.Id == 0).ToList();
                templateMenu.TemplateMenuForBodyClassifications.Clear();
                foreach (var detail in addedBodies)
                {
                    detail.TemplateMenuId = templateMenu.Id;
                    _templateMenuForBodyClassification.Add(detail, out result, out message);
                }
            }

            // TemplateMenuSets
            var addedSets   = templateMenu.TemplateMenuSets.Where(x => x.Id == 0).ToList();                 // new details added
            var updatedSets = templateMenu.TemplateMenuSets.Where(x => x.Id != 0).ToList();                 // get updated details
            var existedSets = _templateMenuSetRepository.FindAll(x => x.TemplateMenuId == templateMenu.Id); // existed details

            templateMenu.TemplateMenuSets.Clear();

            foreach (var set in updatedSets)
            {
                var templateMenuSetDetails = _templateMenuSetDetailRepository.FindAll(x => x.TemplateMenuSetId == set.Id).ToList();
                _templateMenuSetDetailRepository.RemoveMultiple(templateMenuSetDetails, out result, out message);
                _templateMenuSetRepository.Update(set, out result, out message);
            }

            foreach (var set in addedSets)
            {
                set.TemplateMenuId = templateMenu.Id;
                _templateMenuSetRepository.Add(set, out result, out message);
            }

            var delete = existedSets.Except(updatedSets).ToList();

            foreach (var set in delete)
            {
                var templateMenuSetDetails = _templateMenuSetDetailRepository.FindAll(x => x.TemplateMenuSetId == set.Id).ToList();
                _templateMenuSetDetailRepository.RemoveMultiple(templateMenuSetDetails, out result, out message);
                _templateMenuSetRepository.Remove(set, out result, out message);
            }

            if (result)
            {
                SaveChanges();
            }
            else
            {
                Dispose();
            }
        }
Пример #3
0
        public TemplateMenu CalculateNutrition(TemplateMenu templateMenu)
        {
            if (templateMenu.TemplateMenuSets.Any())
            {
                foreach (var set in templateMenu.TemplateMenuSets)
                {
                    foreach (var detail in set.TemplateMenuSetDetails)
                    {
                        var setOfFood = _setOfFoodRepository.FindById(detail.SetOfFoodId);
                        set.Fat          += setOfFood.Fat;
                        set.SaturatedFat += setOfFood.SaturatedFat;
                        set.Carb         += setOfFood.Carb;
                        set.Protein      += setOfFood.Protein;
                        set.Kcal         += setOfFood.Kcal;
                    }

                    templateMenu.FatAverage          += set.Fat;
                    templateMenu.SaturatedFatAverage += set.SaturatedFat;
                    templateMenu.CarbAverage         += set.Carb;
                    templateMenu.ProteinAverage      += set.Protein;
                    templateMenu.KcalAverage         += set.Kcal;
                }

                int countSet = templateMenu.TemplateMenuSets.Count();
                templateMenu.FatAverage          = templateMenu.FatAverage / countSet;
                templateMenu.SaturatedFatAverage = templateMenu.SaturatedFatAverage / countSet;
                templateMenu.CarbAverage         = templateMenu.CarbAverage / countSet;
                templateMenu.ProteinAverage      = templateMenu.ProteinAverage / countSet;
                templateMenu.KcalAverage         = templateMenu.KcalAverage / countSet;
            }

            return(templateMenu);
        }
Пример #4
0
 public void Add(TemplateMenu templateMenu, out bool result, out string message)
 {
     templateMenu = CalculateNutrition(templateMenu);
     _templateMenuRepository.Add(templateMenu, out result, out message);
     if (result)
     {
         SaveChanges();
     }
     else
     {
         Dispose();
     }
 }
Пример #5
0
 void OnGUI()
 {
     GUILayout.Label($"Create Dekuple {_suffix}", EditorStyles.boldLabel);
     EditorGUIUtility.labelWidth = 100;
     _input = EditorGUILayout.TextField("Base Name", _input);
     GUILayout.BeginHorizontal();
     if (GUILayout.Button("Save"))
     {
         TemplateMenu.CreateFile(_template, _input, $"{Directory.GetParent(Application.dataPath).FullName}/{TemplateMenu.GetDirectory()}/{_input}{_suffix}.cs");
         Close();
     }
     if (GUILayout.Button("Cancel"))
     {
         Close();
     }
     GUILayout.EndHorizontal();
 }
        public override void SetTemplateContent(ITemplateEditingFrame editingFrame, string tmplName, string tmplContent)
        {
            if (null != tmplEditingVerbs)
            {
                if (tmplEditingVerbs[0] == editingFrame.Verb)
                {
                    TemplateMenu control   = (TemplateMenu)Component;
                    ITemplate    newHeader = null;

                    if ((null != tmplContent) && (0 != tmplContent.Length))
                    {
                        newHeader = GetTemplateFromText(tmplContent);
                    }
                    control.HeaderTemplate = newHeader;
                }

                if (tmplEditingVerbs[1] == editingFrame.Verb)
                {
                    TemplateMenu control      = (TemplateMenu)Component;
                    ITemplate    newSeparator = null;

                    if ((null != tmplContent) && (0 != tmplContent.Length))
                    {
                        newSeparator = GetTemplateFromText(tmplContent);
                    }
                    control.SeparatorTemplate = newSeparator;
                }

                if (tmplEditingVerbs[2] == editingFrame.Verb)
                {
                    TemplateMenu control   = (TemplateMenu)Component;
                    ITemplate    newHeader = null;

                    if ((null != tmplContent) && (0 != tmplContent.Length))
                    {
                        newHeader = GetTemplateFromText(tmplContent);
                    }
                    control.FooterTemplate = newHeader;
                }
            }
        }
Пример #7
0
    void OnGUI()
    {
        GUILayout.Label($"Create Dekuple Entity", EditorStyles.boldLabel);
        EditorGUIUtility.labelWidth = 100;

        _input = EditorGUILayout.TextField("Name", _input);

        GUILayout.Space(6);

        var pathStyle = new GUIStyle("ToolbarTextField")
        {
            stretchWidth = true
        };

        EditorGUIUtility.labelWidth = 150f;
        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("View Class Path: ");
        if (GUILayout.Button(_viewClassPath, pathStyle))
        {
            _viewClassPath = EditorUtility.OpenFolderPanel("Select folder to create view.", _viewClassPath, "");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("View Interface Path: ");
        if (GUILayout.Button(_viewInterfacePath, pathStyle))
        {
            _viewInterfacePath = EditorUtility.OpenFolderPanel("Select folder to create view.", _viewInterfacePath, "");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("Agent Class Path: ");
        if (GUILayout.Button(_agentClassPath, pathStyle))
        {
            _agentClassPath = EditorUtility.OpenFolderPanel("Select folder to create view.", _agentInterfacePath, "");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("Agent Interface Path: ");
        if (GUILayout.Button(_agentInterfacePath, pathStyle))
        {
            _agentInterfacePath = EditorUtility.OpenFolderPanel("Select folder to create view.", _agentInterfacePath, "");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("Model Class Path: ");
        if (GUILayout.Button(_modelClassPath, pathStyle))
        {
            _modelClassPath = EditorUtility.OpenFolderPanel("Select folder to create view.", _modelClassPath, "");
        }
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        EditorGUILayout.PrefixLabel("Model Interface Path: ");
        if (GUILayout.Button(_modelInterfacePath, pathStyle))
        {
            _modelInterfacePath = EditorUtility.OpenFolderPanel("Select folder to create view.", _modelInterfacePath, "");
        }
        GUILayout.EndHorizontal();
        GUILayout.BeginHorizontal();

        if (GUILayout.Button("Save"))
        {
            TemplateMenu.CreateFile(_viewInterface, _input, $"{_viewInterfacePath}/I{_input}View.cs");
            TemplateMenu.CreateFile(_agentInterface, _input, $"{_agentInterfacePath}/I{_input}Agent.cs");
            TemplateMenu.CreateFile(_modelInterface, _input, $"{_modelInterfacePath}/I{_input}Model.cs");
            TemplateMenu.CreateFile(_viewClass, _input, $"{_viewClassPath}/{_input}View.cs");
            TemplateMenu.CreateFile(_agentClass, _input, $"{_agentClassPath}/{_input}Agent.cs");
            TemplateMenu.CreateFile(_modelClass, _input, $"{_modelClassPath}/{_input}Model.cs");
            Close();
        }
        if (GUILayout.Button("Cancel"))
        {
            Close();
        }
        GUILayout.EndHorizontal();
    }
    // Extracting Menu Details Including setting key and value
    public List <TemplateMenuAll> GetMenuDetail(string filepath)
    {
        string  menuDetailPath = filepath + "/MenuDetail.xml";
        DataSet objDatasetMenu = new DataSet();

        objDatasetMenu.ReadXml(menuDetailPath);
        List <TemplateMenuAll>          objmenuAll                       = new List <TemplateMenuAll>();
        List <TemplateMenu>             objTemplateMenuList2             = new List <TemplateMenu>();
        List <TemplateMenuSettingValue> objTemplateMenuSettingValueList2 = new List <TemplateMenuSettingValue>();
        string temp      = "";
        int    rowLength = 0;

        foreach (DataTable dt in objDatasetMenu.Tables)
        {
            rowLength += dt.Rows.Count;
        }
        int count = 1;

        foreach (DataTable dt in objDatasetMenu.Tables)
        {
            foreach (DataRow row in dt.Rows)
            {
                if (temp != Utils.CleanString(row[dt.Columns["MenuName"]].ToString()))
                {
                    TemplateMenuAll objTempMenu = new TemplateMenuAll();
                    objTempMenu.LstTemplateMenu    = objTemplateMenuList2;
                    objTempMenu.LstTemplateSetting = objTemplateMenuSettingValueList2;

                    objmenuAll.Add(objTempMenu);
                    objTemplateMenuList2             = new List <TemplateMenu>();
                    objTemplateMenuSettingValueList2 = new List <TemplateMenuSettingValue>();
                    temp = Utils.CleanString(row[dt.Columns["MenuName"]].ToString());
                }
                if (temp == Utils.CleanString(row[dt.Columns["MenuName"]].ToString()))
                {
                    if (row.Table.Columns.Contains("MenuItemID"))
                    {
                        TemplateMenu objTemplateMenu = new TemplateMenu();
                        objTemplateMenu.MenuID       = int.Parse(Utils.CleanString(row[dt.Columns["MenuID"]].ToString()));
                        objTemplateMenu.LinkType     = int.Parse(Utils.CleanString(row[dt.Columns["LinkType"]].ToString()));
                        objTemplateMenu.PageID       = int.Parse(Utils.CleanString(row[dt.Columns["PageID"]].ToString()));
                        objTemplateMenu.Title        = row[dt.Columns["Title"]].ToString();
                        objTemplateMenu.LinkURL      = row[dt.Columns["LinkURL"]].ToString();
                        objTemplateMenu.ImageIcon    = row[dt.Columns["ImageIcon"]].ToString();
                        objTemplateMenu.Caption      = row[dt.Columns["Caption"]].ToString();
                        objTemplateMenu.MenuLevel    = int.Parse(Utils.CleanString(row[dt.Columns["ParentID"]].ToString()));
                        objTemplateMenu.MenuLevel    = int.Parse(Utils.CleanString(row[dt.Columns["MenuLevel"]].ToString()));
                        objTemplateMenu.MenuOrder    = int.Parse(Utils.CleanString(row[dt.Columns["MenuOrder"]].ToString()));
                        objTemplateMenu.Isvisible    = bool.Parse(Utils.CleanString(row[dt.Columns["IsVisible"]].ToString()));
                        objTemplateMenu.IsActive     = bool.Parse(Utils.CleanString(row[dt.Columns["IsActive"]].ToString()));
                        objTemplateMenu.HtmlContent  = row[dt.Columns["HtmlContent"]].ToString();
                        objTemplateMenu.MenuName     = row[dt.Columns["MenuName"]].ToString();
                        objTemplateMenu.UserModuleID = int.Parse(Utils.CleanString(row[dt.Columns["UserModuleID"]].ToString()));
                        objTemplateMenuList2.Add(objTemplateMenu);
                    }
                    else
                    {
                        TemplateMenuSettingValue objSetting = new TemplateMenuSettingValue();
                        objSetting.MenuMgrSettingValueID = int.Parse(Utils.CleanString(row[dt.Columns["MenuMgrSettingValueID"]].ToString()));
                        objSetting.MenuID       = int.Parse(Utils.CleanString(row[dt.Columns["MenuID"]].ToString()));
                        objSetting.MenuName     = row[dt.Columns["MenuName"]].ToString();
                        objSetting.SettingKey   = row[dt.Columns["SettingKey"]].ToString();
                        objSetting.SettingValue = int.Parse(Utils.CleanString(row[dt.Columns["SettingValue"]].ToString()));
                        objTemplateMenuSettingValueList2.Add(objSetting);
                    }
                }
                temp = Utils.CleanString(row[dt.Columns["MenuName"]].ToString());
                if (count == rowLength)
                {
                    TemplateMenuAll objTempMenu = new TemplateMenuAll();
                    objTempMenu.LstTemplateMenu    = objTemplateMenuList2;
                    objTempMenu.LstTemplateSetting = objTemplateMenuSettingValueList2;
                    objmenuAll.Add(objTempMenu);
                }
                count++;
            }
        }
        return(objmenuAll);
    }