Exemplo n.º 1
0
        public ActionResult SaveFormularium(FormulariumData formulariumData)
        {
            Formularium formulariumToSave = null;

            // Look whether Formularium exists. Then get that Formularium, else create a new one
            if (Formularium.Exists(formulariumData.Id))
                formulariumToSave = Formularium.GetFormularium(formulariumData.Id);
            else formulariumToSave = Formularium.NewFormularium(formulariumData.FormulariumName, formulariumData.MainAuthorUserName);

            bool canBeMapped = true;
            if (!formulariumToSave.IsNew)
                canBeMapped = CheckVersion(formulariumToSave.TimeStamp, formulariumData.TimeStamp);

            if (canBeMapped)
            {
                // Map the properties of formulariumData and formulariumToSave, except the MainGroups collection
                string[] exlude = { "MainGroups", "Texts", "DoseTexts",
                                    "ProductTexts", "GenericTexts",
                                    "Pharmacy", "PharmacyId" };

                Csla.Data.DataMapper.Map(formulariumData, formulariumToSave, exlude);
            }

            // Return the result
            return this.Direct(
                new
                {
                    success = formulariumToSave.IsSavable,
                    data = formulariumToSave.IsSavable ? formulariumToSave.Save(): formulariumToSave,
                    msg = formulariumToSave.BrokenRulesCollection.ToString()
                });
        }
        public ActionResult SaveFormularium(FormulariumData formulariumData)
        {
            Formularium formulariumToSave = null;

            // Look whether Formularium exists. Then get that Formularium, else create a new one
            if (Formularium.Exists(formulariumData.Id))
            {
                formulariumToSave = Formularium.GetFormularium(formulariumData.Id);
            }
            else
            {
                formulariumToSave = Formularium.NewFormularium(formulariumData.FormulariumName, formulariumData.MainAuthorUserName);
            }

            bool canBeMapped = true;

            if (!formulariumToSave.IsNew)
            {
                canBeMapped = CheckVersion(formulariumToSave.TimeStamp, formulariumData.TimeStamp);
            }

            if (canBeMapped)
            {
                // Map the properties of formulariumData and formulariumToSave, except the MainGroups collection
                string[] exlude = { "MainGroups",   "Texts",        "DoseTexts",
                                    "ProductTexts", "GenericTexts",
                                    "Pharmacy",     "PharmacyId" };

                Csla.Data.DataMapper.Map(formulariumData, formulariumToSave, exlude);
            }

            // Return the result
            return(this.Direct(
                       new
            {
                success = formulariumToSave.IsSavable,
                data = formulariumToSave.IsSavable ? formulariumToSave.Save(): formulariumToSave,
                msg = formulariumToSave.BrokenRulesCollection.ToString()
            }));
        }