Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }