예제 #1
0
        private static void UpdateEditIndicatorPageViewModelCommon <T>(this EditIndicatorPageViewModel <T> model, ClientFieldData[] formData) where T : new()
        {
            var field = formData.FirstOrDefault(x => x.Name == "indicatorTemplate");

            if (field != null)
            {
                model.Indicator.Common.TemplateVersionId = int.Parse(field.Value);
            }

            field = formData.First(x => x.Name == "indicatorNumber");
            model.Indicator.Common.IndicatorNumber = null;
            if (field != null)
            {
                var indicatorNumber = field.Value.ToString();
                model.Indicator.Common.IndicatorNumber = indicatorNumber;
            }

            field = formData.First(x => x.Name == "effectiveDate");
            model.Indicator.Common.EffectiveDate = null;
            if (field != null)
            {
                var date = DateTime.ParseExact(field.Value, DATETIME_PARSE_FORMAT, CultureInfo.InvariantCulture);
                model.Indicator.Common.EffectiveDate = date;
            }

            field = formData.First(x => x.Name == "expirationDate");
            model.Indicator.Common.ExpirationDate = null;
            if (field != null)
            {
                var date = DateTime.ParseExact(field.Value, DATETIME_PARSE_FORMAT, CultureInfo.InvariantCulture);
                model.Indicator.Common.ExpirationDate = date;
            }

            field = formData.First(x => x.Name == "indicatorNameEn");
            if (field != null)
            {
                model.Indicator.Common.IndicatorNameEn = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "indicatorNameEs");
            model.Indicator.Common.IndicatorNameEs = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.IndicatorNameEs = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "indicatorNamePt");
            model.Indicator.Common.IndicatorNamePt = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.IndicatorNamePt = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "indicatorNameFr");
            model.Indicator.Common.IndicatorNameFr = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.IndicatorNameFr = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "unitMeasure");
            model.Indicator.Common.UnitMeasureId = null;
            if (field != null)
            {
                model.Indicator.Common.UnitMeasureId = int.Parse(field.Value);
            }

            field = formData.FirstOrDefault(x => x.Name == "unitMeasureEn");
            model.Indicator.Common.UnitMeasureEn = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.UnitMeasureEn = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "unitMeasureEs");
            model.Indicator.Common.UnitMeasureEs = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.UnitMeasureEs = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "unitMeasurePt");
            model.Indicator.Common.UnitMeasurePt = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.UnitMeasurePt = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "unitMeasureFr");
            model.Indicator.Common.UnitMeasureFr = string.Empty;
            if (field != null)
            {
                model.Indicator.Common.UnitMeasureFr = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "strAlingmentImageAsociated");
            model.Indicator.Common.StrAlingImageId = null;
            if (field != null && !string.IsNullOrEmpty(field.Value))
            {
                model.Indicator.Common.StrAlingImageId = int.Parse(field.Value);
            }

            model.Indicator.Common.TechnicalFields.Clear();
            var technicalFields = formData.Where(x => x.Name == "technicalFieldValue");

            foreach (var item in technicalFields)
            {
                var it = new TechnicalFieldViewModel()
                {
                    TechnicalFieldTemplateId = int.Parse(item.Id),
                    Value = item.Value
                };
                model.Indicator.Common.TechnicalFields.Add(it);
            }
        }
예제 #2
0
        private static void UpdateTemplateCommon(this EditTemplatePageViewModel model, ClientFieldData[] formData)
        {
            ClientFieldData field = null;

            field = formData.FirstOrDefault(x => x.Name == "version");
            if (field != null)
            {
                model.Template.Common.Version = field.Value;
            }

            field = formData.FirstOrDefault(x => x.Name == "description");
            if (field != null)
            {
                model.Template.Common.Description = field.Value;
            }

            // Technical Field Data
            // Remove default technical field
            model.Template.Common.TechnicalFields.RemoveAll(x => x.TechnicalFieldTemplateId == 0);
            var techincals = formData.Where(x => x.Name == "technicalFieldName" ||
                                            x.Name.Contains("typeTF-new-") ||
                                            x.Name.Contains("typeTFValue-") ||
                                            x.Name.Contains("IsActive"));

            var oldTechnical = techincals.Where(x => x.ExtraData.ContainsKey("data-persist-old-id"));
            var newTechnical = techincals.Where(x => x.ExtraData.ContainsKey("data-persist-new-id"));

            var oldGrouped = oldTechnical.GroupBy(x => x.ExtraData.FirstOrDefault(y => y.Key == "data-persist-old-id"));
            var newGrouped = newTechnical.GroupBy(x => x.ExtraData.FirstOrDefault(y => y.Key == "data-persist-new-id"));

            List <TechnicalFieldViewModel> newTechnicalFields = new List <TechnicalFieldViewModel>();

            foreach (var oldItem in oldGrouped)
            {
                var technicalModel = model.Template.Common.TechnicalFields.First(x => x.TechnicalFieldTemplateId.ToString() == oldItem.Key.Value);

                field = oldItem.FirstOrDefault(x => x.Name == "technicalFieldName");
                if (field != null)
                {
                    technicalModel.Name = field.Value;
                }

                field = oldItem.FirstOrDefault(x => x.Name.Contains("IsActive"));
                if (field != null)
                {
                    technicalModel.IsActive = !GetBoolValue(field.Value);
                }

                field = oldItem.FirstOrDefault(x => x.Name.Contains("typeTFValue-"));
                if (field != null)
                {
                    technicalModel.Type = field.Value == "text" ? TechnicalFieldTypeEnum.Text : TechnicalFieldTypeEnum.Bool;
                }

                newTechnicalFields.Add(technicalModel);
            }

            foreach (var newItem in newGrouped)
            {
                var technicalModel = new TechnicalFieldViewModel();

                field = newItem.FirstOrDefault(x => x.Name == "technicalFieldName");
                if (field != null)
                {
                    technicalModel.Name = field.Value;
                }

                field = newItem.FirstOrDefault(x => x.Name.Contains("typeTF-new-"));
                if (field != null)
                {
                    technicalModel.Type = field.Value == "text" ? TechnicalFieldTypeEnum.Text : TechnicalFieldTypeEnum.Bool;
                }

                field = newItem.FirstOrDefault(x => x.Name == "IsActive");
                if (field != null)
                {
                    technicalModel.IsActive = !GetBoolValue(field.Value);
                }

                newTechnicalFields.Add(technicalModel);
            }

            model.Template.Common.TechnicalFields = newTechnicalFields;
        }