Example #1
0
        public IActionResult UpdateLocalizationLabel(UpdateLocalizationLabelModel model)
        {
            if (ModelState.IsValid)
            {
                var labels = _localizedLabelService.Query(n => n.Where(f => f.ObjectColumnName == model.ObjectColumnName && f.ObjectId == model.ObjectId));
                int i      = 0;

                foreach (var item in model.Label)
                {
                    var original = labels.Find(n => (int)n.LanguageId == model.LanguageId[i]);
                    if (original != null)
                    {
                        if (item.IsEmpty())
                        {
                            //delete
                            _localizedLabelService.DeleteById(original.LocalizedLabelId);
                        }
                        else
                        {
                            //update
                            _localizedLabelService.Update(n => n.Set(f => f.Label, item).Where(f => f.LocalizedLabelId == original.LocalizedLabelId));
                        }
                    }
                    else
                    {
                        //create
                        //_localizedLabelService.Create(SolutionDefaults.DefaultSolutionId, item, labels.First().LabelTypeCode, model.ObjectColumnName, model.ObjectId, (LanguageEnum)Enum.ToObject(typeof(LanguageEnum), model.LanguageId[i]));
                    }
                    i++;
                }

                return(UpdateSuccess());
            }
            return(UpdateFailure(GetModelErrors()));
        }
Example #2
0
        public bool Import(string file, Guid solutionId, LanguageCode baseLanguageId)
        {
            var data      = new DataTable();// _dataImporter.ExcelToDataTable(file);
            var languages = _languageService.Query(n => n.Sort(s => s.SortAscending(f => f.Name)));

            foreach (DataRow row in data.Rows)
            {
                var objectId = Guid.Parse(row[0].ToString());
                var name     = row[1].ToString();
                var typeCode = int.Parse(row[2].ToString());
                foreach (var lg in languages)
                {
                    if (data.Columns.Contains(lg.UniqueId.ToString()))
                    {
                        var label         = row[lg.UniqueId.ToString()] != null ? row[lg.UniqueId.ToString()].ToString() : string.Empty;
                        var originalLabel = _localizedLabelService.Find(n => n.ObjectId == objectId && n.ObjectColumnName == name && (int)n.LanguageId == lg.UniqueId);
                        if (originalLabel != null)
                        {
                            if (label.IsEmpty())
                            {
                                _localizedLabelService.DeleteById(originalLabel.LocalizedLabelId);
                            }
                            else if (!label.IsCaseInsensitiveEqual(originalLabel.Label))
                            {
                                originalLabel.Label = label;
                                _localizedLabelService.Update(originalLabel);
                            }
                        }
                        else if (label.IsNotEmpty())
                        {
                            _localizedLabelService.Create(solutionId, label, typeCode.ToString(), name, objectId, (LanguageCode)Enum.Parse(typeof(LanguageCode), lg.UniqueId.ToString()));
                        }
                    }
                }
            }
            return(true);
        }
Example #3
0
        public void DeleteOriginalLabels(Domain.SystemForm original)
        {
            var         oldForm   = new FormDescriptor().DeserializeFromJson(original.FormConfig);
            List <Guid> objectIds = new List <Guid>();

            if (oldForm.Header != null && oldForm.Header.Rows.NotEmpty())
            {
                //header
                foreach (var row in oldForm.Header.Rows)
                {
                    foreach (var cell in row.Cells)
                    {
                        if (!cell.Id.Equals(Guid.Empty) && cell.Label.IsNotEmpty())
                        {
                            objectIds.Add(cell.Id);
                        }
                    }
                }
            }
            if (oldForm.NavGroups.NotEmpty())
            {
                //navs
                foreach (var navg in oldForm.NavGroups)
                {
                    if (!navg.Id.Equals(Guid.Empty) && navg.Label.IsNotEmpty())
                    {
                        objectIds.Add(navg.Id);
                    }
                    foreach (var item in navg.NavItems)
                    {
                        if (!item.Id.Equals(Guid.Empty) && item.Label.IsNotEmpty())
                        {
                            objectIds.Add(item.Id);
                        }
                    }
                }
            }
            if (oldForm.Panels.NotEmpty())
            {
                //tabs
                foreach (var tab in oldForm.Panels)
                {
                    if (!tab.Id.Equals(Guid.Empty) && tab.Label.IsNotEmpty())
                    {
                        objectIds.Add(tab.Id);
                    }
                    foreach (var sec in tab.Sections)
                    {
                        if (!sec.Id.Equals(Guid.Empty) && sec.Label.IsNotEmpty())
                        {
                            objectIds.Add(sec.Id);
                        }
                        foreach (var row in sec.Rows)
                        {
                            foreach (var cell in row.Cells)
                            {
                                if (!cell.Id.Equals(Guid.Empty) && cell.Label.IsNotEmpty())
                                {
                                    objectIds.Add(cell.Id);
                                }
                            }
                        }
                    }
                }
            }
            if (oldForm.Footer != null && oldForm.Footer.Rows.NotEmpty())
            {
                //footer
                foreach (var row in oldForm.Footer.Rows)
                {
                    foreach (var cell in row.Cells)
                    {
                        if (!cell.Id.Equals(Guid.Empty) && cell.Label.IsNotEmpty())
                        {
                            objectIds.Add(cell.Id);
                        }
                    }
                }
            }
            if (objectIds.NotEmpty())
            {
                _localizedLabelService.DeleteById(objectIds.ToArray());
            }
        }