public virtual EsteiraComissaoViewModel Run(Repository value) { EsteiraComissaoViewModel r = (EsteiraComissaoViewModel)value; try { EsteiraComissaoModel model = new EsteiraComissaoModel(this.db, this.seguranca_db); EsteiraComissaoViewModel esteiraComissaoViewModel = model.getObject((EsteiraComissaoViewModel)value); esteiraComissaoViewModel.valor = ((EsteiraComissaoViewModel)value).valor; esteiraComissaoViewModel.uri = ((EsteiraComissaoViewModel)value).uri; esteiraComissaoViewModel = model.Update(esteiraComissaoViewModel); if (esteiraComissaoViewModel.mensagem.Code > 0) { r = esteiraComissaoViewModel; throw new Exception(esteiraComissaoViewModel.mensagem.MessageBase); } else { r.mensagem = new Validate() { Code = 0, Message = "Registro alterado com sucesso", MessageBase = "" } }; } catch (Exception ex) { r.mensagem = new Validate() { Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro na edição da comissão" }; } return(r); }
private IEnumerable <EsteiraComissaoViewModel> EsteiraComissao(int esteiraId, int grupoId, string nome_grupo, string valor) { IEnumerable <EsteiraComissaoViewModel> result = new List <EsteiraComissaoViewModel>(); try { EsteiraComissaoViewModel value = new EsteiraComissaoViewModel(); value.esteiraId = esteiraId; value.grupoId = grupoId; value.nome_grupo = nome_grupo; value.valor = Convert.ToDecimal(valor); Factory <EsteiraComissaoViewModel, ApplicationContext> facade = new Factory <EsteiraComissaoViewModel, ApplicationContext>(); value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); result = facade.Execute(new EsteiraComissaoBI(), value, esteiraId); if (facade.Mensagem.Code > 0) { throw new App_DominioException(facade.Mensagem); } Success("Registro alterado com sucesso"); } catch (App_DominioException ex) { ViewBag.esteiraId = esteiraId.ToString(); ViewBag.grupoId = grupoId.ToString(); ViewBag.nome_grupo = nome_grupo; ViewBag.valor = valor; ModelState.AddModelError(ex.Result.Field, ex.Result.Message); // mensagem amigável ao usuário Error(ex.Result.MessageBase); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } catch (Exception ex) { ViewBag.esteiraId = esteiraId.ToString(); ViewBag.grupoId = grupoId.ToString(); ViewBag.nome_grupo = nome_grupo; ViewBag.valor = valor; App_DominioException.saveError(ex, GetType().FullName); ModelState.AddModelError("", MensagemPadrao.Message(17).ToString()); // mensagem amigável ao usuário Error(ex.Message); // Mensagem em inglês com a descrição detalhada do erro e fica no topo da tela } return(result); }
public virtual EsteiraViewModel Run(Repository value) { EsteiraViewModel r = (EsteiraViewModel)value; r.mensagem = new Validate() { Code = 0, Message = "Registro incluído com sucesso!!" }; try { EsteiraModel model = new EsteiraModel(this.db, this.seguranca_db); int esteiraId = this.db.Esteiras.Where(info => info.propostaId == ((EsteiraViewModel)value).propostaId).OrderByDescending(info => info.esteiraId).FirstOrDefault().esteiraId; ((EsteiraViewModel)value).esteiraId = esteiraId; EsteiraViewModel esteiraViewModel = model.getObject((EsteiraViewModel)value); if (esteiraViewModel.ind_aprovacao == null || esteiraViewModel.ind_aprovacao == "") { #region Aprovar Etapa esteiraViewModel.observacao = ((EsteiraViewModel)value).observacao; esteiraViewModel.ind_aprovacao = "A"; esteiraViewModel.dt_manifestacao = Funcoes.Brasilia(); esteiraViewModel.uri = ((EsteiraViewModel)value).uri; esteiraViewModel = model.Update(esteiraViewModel); if (esteiraViewModel.mensagem.Code > 0) { r = esteiraViewModel; throw new Exception(esteiraViewModel.mensagem.MessageBase); } #endregion if (db.Etapas.Find(esteiraViewModel.etapaId).etapa_proxId.HasValue) { #region Incluir a proposta na próxima etapa EsteiraViewModel proximaEtapa = new EsteiraViewModel() { propostaId = esteiraViewModel.propostaId, etapaId = db.Etapas.Find(esteiraViewModel.etapaId).etapa_proxId.Value, descricao_etapa = db.Etapas.Find(db.Etapas.Find(esteiraViewModel.etapaId).etapa_proxId).descricao, dt_ocorrencia = ((EsteiraViewModel)value).dt_ocorrencia, uri = ((EsteiraViewModel)value).uri }; #region Incluir o comissionamento if (db.Etapas.Find(proximaEtapa.etapaId).ind_comissao == "S") { IList <EsteiraComissaoViewModel> listComissao = new List <EsteiraComissaoViewModel>(); foreach (ComissaoDefault comdef in db.ComissaoDefaults) { EsteiraComissaoViewModel com = new EsteiraComissaoViewModel() { grupoId = comdef.grupoId, nome_grupo = comdef.nome_grupo, valor = comdef.vr_comissao * db.Propostas.Find(esteiraViewModel.propostaId).valor }; listComissao.Add(com); } proximaEtapa.Comissaos = listComissao; } #endregion proximaEtapa = model.Insert(proximaEtapa); #endregion r = proximaEtapa; } } else { throw new Exception("Esta etapa não pode ser aprovada"); } } catch (Exception ex) { r.mensagem = new Validate() { Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro na aprovação da etapa" }; } return(r); }