Example #1
0
        public Nutraceutical Update(UpdateNutraceuticalCommand command)
        {
            // Cria a instâcia do usuário
            var domain = new Nutraceutical(command.Id, command.Name, command.Pharmacology, command.ActionMechanism, command.Indications, command.AgainstIndications, command.AdverseReactions,
                                           command.DrugInteractions, command.DescriptionDosages, command.RecomendedDosages, command.NutraceuticalReferences, command.NutraceuticalType, command.MinDosage,
                                           command.MaxDosage, command.Unity, command.MedicalOnly, command.CommonName);

            // Tenta ações e regras de negócio no domínio
            //domain.Register();

            // Salva as alterações da tabela no contexto do banco de dados
            _repository.Update(domain);

            // Chama o commit
            if (Commit())
            {
                // Dispara o evento de usuário registrado
                DomainEvent.Raise(new OnNutraceuticalRegisteredEvent(domain));

                // Retorna o usuário
                return(domain);
            }

            // Se não comitou, retorna nulo
            return(null);
        }
Example #2
0
        public ActionResult Edit(FormCollection collection)
        {
            try
            {
                NutraceuticalType nutraceuticalType;
                Enum.TryParse(collection["NutraceuticalType"], out nutraceuticalType);

                bool medicalOnly = Convert.ToBoolean(collection["MedicalOnly"].Split(',')[0]);

                var nutraceutical = new UpdateNutraceuticalCommand(Guid.Parse(collection["Id"]), collection["Name"], collection["Pharmacology"], collection["ActionMechanism"],
                                                                   collection["Indications"], collection["AgainstIndications"], collection["AdverseReactions"], collection["DrugInteractions"], collection["DescriptionDosages"],
                                                                   collection["RecomendedDosages"], collection["NutraceuticalReferences"], nutraceuticalType, Convert.ToInt16(collection["MinDosage"]),
                                                                   Convert.ToInt16(collection["MaxDosage"]), collection["Unity"], medicalOnly, collection["CommonName"]);

                _serviceNutraceutical.Update(nutraceutical);

                return(RedirectToAction("Index"));
            }
            catch (Exception msg)
            {
                var mensagemError = msg.Message;
                return(View());
            }
        }