public override EsteiraViewModel Run(Repository value) { EsteiraViewModel r = (EsteiraViewModel)value; 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); // Se estiver na etapa original não pode voltar à etapa anterior if (db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId.HasValue) { #region Reprovar Etapa esteiraViewModel.observacao = ((EsteiraViewModel)value).observacao; esteiraViewModel.ind_aprovacao = "R"; esteiraViewModel.dt_manifestacao = Funcoes.Brasilia(); esteiraViewModel.uri = ((EsteiraViewModel)value).uri; esteiraViewModel = model.Update(esteiraViewModel); if (esteiraViewModel.mensagem.Code > 0) { r = esteiraViewModel; throw new ArgumentException(esteiraViewModel.mensagem.MessageBase); } #endregion #region Incluir a proposta na etapa anterior EsteiraViewModel etapaAnterior = new EsteiraViewModel() { propostaId = esteiraViewModel.propostaId, etapaId = db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId.Value, descricao_etapa = db.Etapas.Find(db.Etapas.Find(esteiraViewModel.etapaId).etapa_antId).descricao, dt_ocorrencia = ((EsteiraViewModel)value).dt_ocorrencia, uri = ((EsteiraViewModel)value).uri }; etapaAnterior = model.Insert(etapaAnterior); #endregion r = etapaAnterior; } else { throw new Exception("Esta etapa não pode ser recusada"); } } catch (Exception ex) { r.mensagem = new Validate() { Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro na aprovação da etapa" }; } return(r); }
private IEnumerable <EsteiraViewModel> CancelarFaturamento(int propostaId, int esteiraId) { IEnumerable <EsteiraViewModel> result = new List <EsteiraViewModel>(); try { EsteiraViewModel value = new EsteiraViewModel(); value.esteiraId = esteiraId; value.propostaId = propostaId; Factory <EsteiraViewModel, ApplicationContext> facade = new Factory <EsteiraViewModel, ApplicationContext>(); value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); result = facade.Execute(new CancelarFaturamentoBI(), value, propostaId); if (facade.Mensagem.Code > 0) { throw new App_DominioException(facade.Mensagem); } Success("Aprovação da etapa de faturamento cancelada com sucesso"); } catch (App_DominioException ex) { ViewBag.observacao = ""; ViewBag.dt_ocorrencia = DateTime.Today; ViewBag.propostaId = propostaId.ToString(); 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.observacao = ""; ViewBag.dt_ocorrencia = DateTime.Today; ViewBag.propostaId = propostaId.ToString(); 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); EsteiraViewModel esteiraViewModel = model.getObject((EsteiraViewModel)value); if (esteiraViewModel.ind_aprovacao != null || esteiraViewModel.ind_aprovacao == "A" && esteiraViewModel.etapaId == 6) { #region Cancelar Etapa de Faturamento esteiraViewModel.observacao = "Cancelamento de aprovação da etapa de faturamento"; esteiraViewModel.ind_aprovacao = null; esteiraViewModel.dt_manifestacao = null; esteiraViewModel.uri = ((EsteiraViewModel)value).uri; esteiraViewModel = model.Update(esteiraViewModel); if (esteiraViewModel.mensagem.Code > 0) { r = esteiraViewModel; throw new Exception(esteiraViewModel.mensagem.MessageBase); } #endregion } else { throw new Exception("Esta etapa não pode ser cancelada"); } } catch (Exception ex) { r.mensagem = new Validate() { Code = 999, MessageBase = ex.Message, Message = "Ocorreu um erro no cancelamento da etapa" }; } return(r); }
private IEnumerable <EsteiraViewModel> AprovarEtapa(int propostaId, string dt_ocorrencia, string observacao_etapa, string btnAprovarRecusar) { IEnumerable <EsteiraViewModel> result = new List <EsteiraViewModel>(); try { EsteiraViewModel value = new EsteiraViewModel(); value.propostaId = propostaId; if (dt_ocorrencia != null) { value.dt_ocorrencia = Funcoes.StringToDate(dt_ocorrencia).Value; } else { throw new Exception("Data da ocorrência deve ser informada"); } value.observacao = observacao_etapa; Factory <EsteiraViewModel, ApplicationContext> facade = new Factory <EsteiraViewModel, ApplicationContext>(); value.uri = this.ControllerContext.Controller.GetType().Name.Replace("Controller", "") + "/" + this.ControllerContext.RouteData.Values["action"].ToString(); result = facade.Execute(getProcess(btnAprovarRecusar), value, propostaId); if (facade.Mensagem.Code > 0) { throw new App_DominioException(facade.Mensagem); } Success("Registro incluído com sucesso"); } catch (App_DominioException ex) { ViewBag.observacao = observacao_etapa; if (dt_ocorrencia != null) { ViewBag.dt_ocorrencia = Funcoes.StringToDate(dt_ocorrencia).Value; } else { ViewBag.dt_ocorrencia = DateTime.Today; } ViewBag.propostaId = propostaId.ToString(); 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.observacao = observacao_etapa; if (dt_ocorrencia != null) { ViewBag.dt_ocorrencia = Funcoes.StringToDate(dt_ocorrencia).Value; } else { ViewBag.dt_ocorrencia = DateTime.Today; } ViewBag.propostaId = propostaId.ToString(); 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); }