Ejemplo n.º 1
0
        public void SalvarEntregavel([FromBody] EntregavelDTO novoEntregavel)
        {
            using (var db = new FIPEContratosContext())
            {
                var strategy = db.Database.CreateExecutionStrategy();

                strategy.Execute(() =>
                {
                    using (var transaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            var bEntregavel = new bEntregavel(db);

                            if (novoEntregavel.Id == 0)
                            {
                                bEntregavel.CriarNovoEntregavel(novoEntregavel.Nome, novoEntregavel.DataPrevista, novoEntregavel.IdContrato, novoEntregavel.Frente.Id, novoEntregavel.Numero, novoEntregavel.Cliente.Id, novoEntregavel.Situacao.Id);
                            }
                            else
                            {
                                bEntregavel.AtualizarEntregavel(novoEntregavel);
                            }

                            db.Database.CommitTransaction();
                        }
                        catch (Exception ex)
                        {
                            new bEmail(db).EnviarEmailTratamentoErro(ex, "EntregavelController-SalvarEntregavel");

                            throw ex;
                        }
                    }
                });
            }
        }
        public void AtualizarEntregavelTemporaria(EntregavelDTO entregavel_)
        {
            ContratoEntregavelTemporaria entregavel = db.ContratoEntregavelTemporaria.Where(_ => _.IdContratoEntregavel == entregavel_.Id)?.FirstOrDefault();

            if (entregavel != null)
            {
                entregavel.DsProduto  = entregavel_.Nome;
                entregavel.DtProduto  = entregavel_.DataPrevista;
                entregavel.IdFrente   = entregavel_.Frente.Id;
                entregavel.IdSituacao = entregavel_.Situacao.Id;
                if (entregavel_.Situacao.Id == 89 || entregavel_.Situacao.Id == 90 || entregavel_.Situacao.Id == 91)
                {
                    entregavel.IdSituacao = entregavel_.Situacao.Id;
                    entregavel.IcAtraso   = false;
                }
                else
                {
                    if (entregavel_.DataPrevista != null)
                    {
                        if (entregavel_.DataPrevista.Value.Date < DateTime.Now.Date)
                        {
                            entregavel.IdSituacao = 68;
                            entregavel.IcAtraso   = true;
                        }
                        else
                        {
                            if (entregavel_.Situacao.Id == 68 || entregavel_.Situacao.Id == 97)
                            {
                                entregavel.IdSituacao = 56;
                                entregavel.IcAtraso   = false;
                            }
                            else
                            {
                                entregavel.IdSituacao = entregavel_.Situacao.Id;
                                entregavel.IcAtraso   = false;
                            }
                        }
                    }
                    else
                    {
                        entregavel.IdSituacao = entregavel_.Situacao.Id;
                        entregavel.IcAtraso   = false;
                    }
                }
                entregavel.VlOrdem           = entregavel_.Numero;
                entregavel.IdContratoCliente = entregavel_.Cliente.Id;

                db.SaveChanges();
            }
        }
Ejemplo n.º 3
0
        public EntregavelDTO ConsultarEntregavelTemporaria(int idEntregavel)
        {
            var entregavel = new EntregavelDTO();

            using (var db = new FIPEContratosContext())
            {
                try
                {
                    var bEntregavel = new bEntregavel(db);
                    entregavel = bEntregavel.ConsultarEntregavelTemporaria(idEntregavel);
                }
                catch (Exception ex)
                {
                    new bEmail(db).EnviarEmailTratamentoErro(ex, "EntregavelController-ConsultarEntregavelTemporaria");


                    throw ex;
                }

                return(entregavel);
            }
        }