示例#1
0
 private FechasPedidoDTO obtenerFechasPedidoDto(DateTime fechaEntrega, PedidoDTO pedido)
 {
     return(new FechasPedidoDTO()
     {
         FechaPedido = pedido.FechaPedido, FechaEntrega = fechaEntrega
     });
 }
示例#2
0
        public void ObtenerInformacionPedidoPaquete_PedidoDHLAereo100KM_MensajeConInformacionPedido()
        {
            //Arrange
            PedidoDTO pedido        = CrearEntidadPedidoDTOPrueba();
            DateTime  dtFechaActual = DateTime.Now;

            string cMensajeEsperado = "Tu paquete ha salido de Pekin, China y llegará a Cancún, México dentro de 4 meses y tendrá un costo de $6,829,800(Cualquier reclamación con DHL).";

            var docMensajePedidoPaquete = new Mock <IMensajePedidoPaquete>();

            docMensajePedidoPaquete.Setup(doc => doc.ObtenerMensajePedidoPaquete(It.IsAny <PedidoDTO>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <decimal>(), It.IsAny <decimal>())).Returns(cMensajeEsperado);
            var docTiempoEntrega = new Mock <ITiempoEntrega>();

            docTiempoEntrega.Setup(doc => doc.ObtenerTiempoEntrega(It.IsAny <decimal>(), It.IsAny <EnumMedioTransporte>())).Returns(172800M);

            var docFechaEntrega = new Mock <IFechaEntrega>();

            docFechaEntrega.Setup(doc => doc.ObtenerFechaEntrega(It.IsAny <DateTime>(), It.IsAny <int>())).Returns(new DateTime(2020, 1, 23, 14, 0, 0));

            var docCostoEnvio = new Mock <ICostoEnvio>();

            docCostoEnvio.Setup(doc => doc.ObtenerCostoEnvio(It.IsAny <EnumEmpresa>(), It.IsAny <DateTime>(), It.IsAny <decimal>())).Returns(6829800M);
            //Act
            ProcesadorInformacionPedidoPaquete SUT = new ProcesadorInformacionPedidoPaquete(docMensajePedidoPaquete.Object, docTiempoEntrega.Object, docFechaEntrega.Object, docCostoEnvio.Object);
            string cMensajeInformacion             = SUT.ObtenerInformacionPedidoPaquete(pedido, dtFechaActual);

            //Assert
            Assert.AreEqual(cMensajeEsperado, cMensajeInformacion);
        }
        public async Task <IActionResult> Cadastrar(PedidoViewModel pedidoViewModel)
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <PedidoViewModel, PedidoDTO>();
            });
            IMapper mapper = configuration.CreateMapper();

            PedidoDTO dto = mapper.Map <PedidoDTO>(pedidoViewModel);

            try
            {
                Response response = await _pedidoService.Insert(dto);

                if (response.Sucesso)
                {
                    return(RedirectToAction("Index", "Pedido"));
                }

                ViewBag.ErrorMessage = response.GetErrorMessage();
                return(View());
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMessage = ex.Message;
                return(View());
            }
        }
示例#4
0
        public Pedido Checkout(PedidoDTO dto)
        {
            Pedido pedido = new Pedido()
            {
                TamanhoId  = dto.TamanhoId,
                SaborId    = dto.SaborId,
                Adicionais = dto.Adicionais?.Select(a => new PedidoAdicional()
                {
                    AdicionalId = a
                }).ToList()
            };

            var tamanhoTask    = _tamanhoService.Get(pedido.TamanhoId);
            var saborTask      = _saborService.Get(pedido.SaborId);
            var adicionaisTask = _adicionalService.GetAll();

            Task.WaitAll(new Task[] { tamanhoTask, saborTask, adicionaisTask });

            var tamanho    = tamanhoTask.Result;
            var sabor      = saborTask.Result;
            var adicionais = adicionaisTask.Result.Where(a => dto.Adicionais?.Any(x => x == a.Id) ?? false);

            pedido.PrecoTotal     = tamanho.Preco + (adicionais?.Sum(a => a.Preco ?? 0) ?? 0);
            pedido.TempoDePreparo = tamanho.TempoDePreparo
                                    + (sabor.TempoDePreparo ?? 0)
                                    + (adicionais?.Sum(a => a.TempoDePreparo ?? 0) ?? 0);

            return(pedido);
        }
示例#5
0
        public bool AgregarPedido(PedidoDTO pedidoDTO)
        {
            var res = false;

            #region mapeo index-item

            int index = 1;

            foreach (var item in pedidoDTO.DetallesPedido)
            {
                item.NumeroItem = index;
                index++;
            }
            ;
            #endregion

            var pedidoBE = Mapper.Map <PedidoBE>(pedidoDTO);

            try
            {
                _repositoryPedido.AgregarPedido(pedidoBE);
                return(res = true);
            }
            catch (Exception)
            {
                return(res = false);
            }
        }
 public PedidoHATEOASManager(string urlBase, PedidoEstadoAtualDaAplicacao estadoAtualAplicacao, PedidoDTO pedidoDTO = null, PedidoItemDTO pedidoItemDTO = null)
 {
     _urlBase       = urlBase;
     _estadoAtual   = estadoAtualAplicacao;
     _pedidoDTO     = pedidoDTO;
     _pedidoItemDTO = pedidoItemDTO;
 }
        public async Task <IActionResult> PutPedidoDTO(Guid id, PedidoDTO pedidoDTO)
        {
            if (id != pedidoDTO.Id)
            {
                return(BadRequest());
            }

            _context.Entry(pedidoDTO).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PedidoDTOExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#8
0
        public void ObtenerMensajePedidoPaquete_PedidoDHLAereo100KM_MensajeConInformacionPedidoCorrecto()
        {
            //Arrange.
            PedidoDTO     pedido             = CrearEntidadPedidoDTOPrueba();
            decimal       dMinutosEntrega    = 172800M;
            decimal       dCostoEnvio        = 6829800;
            List <string> lstMensajeEsperado = new List <string>();
            string        cMensajeEsperado   = "Tu paquete ha salido de Pekin, China y llegará a Cancún, México dentro de 4 meses y tendrá un costo de $6,829,800(Cualquier reclamación con DHL).";

            lstMensajeEsperado.Add(cMensajeEsperado);
            var docConjugacionesMensajeFechaEntrega = new Mock <IConjugacionesMensajeFechaEntrega>();

            docConjugacionesMensajeFechaEntrega.Setup(doc => doc.ObtenerConjugacionSalida(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("ha salido"); docConjugacionesMensajeFechaEntrega.Setup(doc => doc.ObtenerConjugacionLlegada(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("llegará");
            docConjugacionesMensajeFechaEntrega.Setup(doc => doc.ObtenerConjugacionLapsoTiempo(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("dentro de");
            docConjugacionesMensajeFechaEntrega.Setup(doc => doc.ObtenerConjugacionTener(It.IsAny <DateTime>(), It.IsAny <DateTime>())).Returns("tendrá");
            DateTime dtFechaEntrega         = new DateTime(2020, 5, 12, 14, 10, 12);
            DateTime dtFechaActual          = new DateTime(2020, 1, 23, 14, 00, 00);
            var      docCadenaTiempoEntrega = new Mock <ICadenaTiempoEntrega>();

            docCadenaTiempoEntrega.Setup(doc => doc.ObtenerCadenaTiempoEntrega(It.IsAny <decimal>())).Returns("4 meses");

            var docCadenaCostoEnvio = new Mock <ICadenaCostoEnvio>();

            docCadenaCostoEnvio.Setup(doc => doc.ObtenerCadenaCostoEnvio(It.IsAny <decimal>())).Returns("$6,829,800");
            //Act.
            MensajePedidoPaquete SUT = new MensajePedidoPaquete(docConjugacionesMensajeFechaEntrega.Object, docCadenaTiempoEntrega.Object, docCadenaCostoEnvio.Object);
            string cMensajeCorrecto  = SUT.ObtenerMensajePedidoPaquete(pedido, dtFechaEntrega, dtFechaActual, dMinutosEntrega, dCostoEnvio);

            //Assert.
            Assert.AreEqual(cMensajeEsperado, cMensajeCorrecto);
        }
示例#9
0
        public void InserirPedido(PedidoDTO pedido)
        {
            // Falta relacionar produtos e precos
            var map = mapper.Map <Model.Pedido>(pedido);

            pedidoData.InserirPedido(map);
        }
        public int Salvar(PedidoDTO pedido)
        {
            string script =
                @"INSERT INTO tb_pedido
                (
                id_pedido,
                id_cliente,
                dt_venda,
                ds_formapagamento
                )
                VALUES
                (
                @id_pedido,
                @id_cliente,
                @dt_venda,
                @ds_formapagamento
                )";

            List <SqlParameter> parms = new List <SqlParameter>();

            parms.Add(new SqlParameter("id_pedido", pedido.id_pedido));
            parms.Add(new SqlParameter("id_cliente", pedido.id_cliente));
            parms.Add(new SqlParameter("dt_venda", pedido.dt_venda));
            parms.Add(new SqlParameter("ds_formapagamento", pedido.ds_formapagamento));

            Database db = new Database();
            int      pk = db.ExecuteInsertScriptWithPk(script, parms);

            return(pk);
        }
示例#11
0
        private tblRecepcion fillCabezera(PedidoDTO pedidoDTO, String emplazamiento)
        {
            tblRecepcion recepcion = new tblRecepcion();

            recepcion.recc_contacto         = String.Empty;
            recepcion.recc_despacho         = String.Empty;
            recepcion.recc_ordenCompra      = String.Empty;
            recepcion.recc_motivoDevolucion = String.Empty;
            recepcion.recc_observaciones    = String.Empty;
            recepcion.recc_emplazamiento    = emplazamiento;
            recepcion.recc_trec_codigo      = pedidoDTO.F4201_DCTO;
            recepcion.recc_numero           = pedidoDTO.F4201_DOCO;

            if (!String.IsNullOrWhiteSpace(pedidoDTO.F4201_OPDJ))
            {
                string result = DateTime.ParseExact(pedidoDTO.F4201_OPDJ, "yyyyMMdd", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd");
                recepcion.recc_fechaEntrega = Utils.ParseDate(result, "yyyy/MM/dd");
            }
            else
            {
                recepcion.recc_fechaEntrega = Utils.ParseDate(Constants.FECHA_DEFAULT, "yyyy/MM/dd");
            }

            recepcion.recc_proveedor = !String.IsNullOrWhiteSpace(pedidoDTO.F4201_MCU) ? pedidoDTO.F4201_MCU.Trim() : String.Empty;

            // VERY HARDCODE
            recepcion.recc_fechaEmision = Utils.ParseDate(Constants.FECHA_DEFAULT, "yyyy/MM/dd");

            return(recepcion);
        }
        public IHttpActionResult Cadastrar(PedidoDTO pedidoDTO)
        {
            List <string> errosValidacao;

            var pedido = new Pedido();

            pedido.InjectFrom(pedidoDTO);

            _pedidoService.RealizarNovo(pedido, out errosValidacao);
            pedidoDTO.InjectFrom(pedido);

            _HATEOASManager = new PedidoHATEOASManager(_urlBase, PedidoEstadoAtualDaAplicacao.CadastrarPedido,
                                                       pedidoDTO);

            pedidoDTO.Links = _HATEOASManager.ObterLinks();

            if (errosValidacao.Count == 0)
            {
                return(Created(new Uri(_urlBase + pedidoDTO.PedidoID), pedidoDTO));
            }
            else
            {
                return(BadRequest(errosValidacao.Aggregate((a, b) => { return a + ", " + b; })));
            }
        }
 public PedidoHATEOASManager(string urlBase, PedidoEstadoAtualDaAplicacao estadoAtualAplicacao, PedidoDTO pedidoDTO = null, PedidoItemDTO pedidoItemDTO = null)
 {
     _urlBase = urlBase;
     _estadoAtual = estadoAtualAplicacao;
     _pedidoDTO = pedidoDTO;
     _pedidoItemDTO = pedidoItemDTO;
 }
示例#14
0
        public async Task Insert(PedidoDTO pedido)
        {
            pedido.ValorTotal = pedido.Quantidade * pedido.Produto.Valor;
            if (pedido.ValorTotal < 50)
            {
                pedido.TaxaEntrega = true;
                pedido.ValorTotal += 8;
            }
            else
            {
                pedido.TaxaEntrega = false;
            }

            try
            {
                await _pedidoRepository.Insert(pedido);
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null && ex.InnerException.InnerException.Message.Contains("UQ"))
                {
                    throw new Exception();
                }
                File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace);
                throw new Exception("Erro no banco de dados, contate o administrador.");
            }
        }
示例#15
0
        public async Task <Response> Insert(PedidoDTO pedido)
        {
            Response response = new Response();

            if (response.Erros.Count > 0)
            {
                response.Sucesso = false;
                return(response);
            }

            try
            {
                this._context.Pedidos.Add(pedido);
                await this._context.SaveChangesAsync();

                response.Sucesso = true;
                return(response);
            }
            catch (Exception ex)
            {
                File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace);
                response.Erros.Add("Erro no banco de dados, contate o administrador.");

                response.Sucesso = false;
                return(response);
            }
        }
        public List <PedidoDTO> Listar()
        {
            string script =
                @"SELECT * FROM tb_pedido";
            List <SqlParameter> parms = new List <SqlParameter>();

            Database        db     = new Database();
            MySqlDataReader reader = db.ExecuteSelectScript(script, parms);

            List <PedidoDTO> pedidos = new List <PedidoDTO>();

            while (reader.Read())
            {
                PedidoDTO novopedido = new PedidoDTO();
                novopedido.id_pedido         = reader.GetInt32("id_pedido");
                novopedido.id_cliente        = reader.GetInt32("id_cliente");
                novopedido.dt_venda          = reader.GetDateTime("dt_venda");
                novopedido.ds_formapagamento = reader.GetString("ds_formapagamento");


                pedidos.Add(novopedido);
            }
            reader.Close();
            return(pedidos);
        }
示例#17
0
        public IActionResult EnviarPedido([FromBody] PedidoDTO pedidoDTO)
        {
            _logger.LogInformation($"Acessando GET  EnviarPedido ");

            var pedido             = pedidoDTO.ToPedido();
            var feiranteProdutoIds = pedidoDTO.ItensPedidoDTO.Select(x => x.FeiranteProdutoId).ToList();

            var cliente          = _context.Cliente.Find(pedido.ClienteId);
            var feirante         = _context.Feirante.Find(pedido.FeiranteId);
            var feiranteProdutos = _context.FeiranteProduto
                                   .Include(x => x.Produto)
                                   .Where(x => feiranteProdutoIds.Contains(x.FeiranteProdutoId))
                                   .ToList();


            _context.Pedido.Add(pedido);
            _context.SaveChanges();

            HttpResponseMessage response = EnviarMensagemFeirante(pedido, cliente, feirante, feiranteProdutos);

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                EnviarMensagemCliente(feirante.Nome, cliente.Celular);

                return(Ok());
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
            {
                return(Unauthorized());
            }
            else
            {
                return(BadRequest());
            }
        }
示例#18
0
        public void CrearPedidoCompletoConDosMarcos_OK()
        {
            // Crear pedido

            PedidoDTO pedido = this.PedidoService.CrearNuevo();

            // Agregar marco

            MarcoDTO marcoDTO = CrearMarcoDTO();

            MarcoDTO marco    = this.MarcoService.CrearMarco(marcoDTO);
            MarcoDTO marcoDos = this.MarcoService.CrearMarco(marcoDTO);

            this.PedidoService.AgregarMarco(pedido.Numero, marco.Numero);
            this.PedidoService.AgregarMarco(pedido.Numero, marcoDos.Numero);

            // Crear comprador

            CompradorDTO compradorDTO = CrearCompradorDTO(pedido);

            this.CompradorService.CrearComprador(compradorDTO);

            this.MarcoService.SetEstadoListo(marco.Numero);
            this.MarcoService.SetEstadoListo(marcoDos.Numero);

            //void PedirMaterialesParaMarco(int numeroMarco);

            this.PedidoService.SetearEstadoTerminado(pedido.Numero);

            this.PedidoService.SetearEstadoEntregado(pedido.Numero);

            pedido = this.PedidoService.GetByNumero(pedido.Numero);

            Assert.AreEqual(pedido.Precio, Convert.ToDecimal("784"));
        }
示例#19
0
        public async Task <PedidoDTO> Update(PedidoDTO pedidoDTO)
        {
            var pedido = this.mapper.Map <Pedido>(pedidoDTO);
            var result = await this.repo.Update(pedido);

            return(this.mapper.Map <PedidoDTO>(result));
        }
示例#20
0
        private tblRecepcionDetalle fillDetalle(PedidoDTO pedidoDTO)
        {
            tblRecepcionDetalle detalle = new tblRecepcionDetalle();

            detalle.recd_serie = String.Empty;
            double linea = String.IsNullOrWhiteSpace(pedidoDTO.F4211_LNID) ? 0.0 : double.Parse(pedidoDTO.F4211_LNID, System.Globalization.CultureInfo.InvariantCulture) * 1000;

            detalle.recd_linea       = Convert.ToInt64(linea);
            detalle.recd_lineaPedido = 0;
            detalle.recd_lote        = !String.IsNullOrWhiteSpace(pedidoDTO.F4211_LOTN) ? pedidoDTO.F4211_LOTN.Trim() : String.Empty;
            detalle.recd_cantidad    = !String.IsNullOrWhiteSpace(pedidoDTO.F4211_UORG) ? Math.Abs(Convert.ToInt64(Convert.ToDouble(pedidoDTO.F4211_UORG))) : 0;
            detalle.recd_compania    = !String.IsNullOrWhiteSpace(pedidoDTO.F4211_SRP1) ? pedidoDTO.F4211_SRP1.Trim() : String.Empty;

            if (!String.IsNullOrWhiteSpace(pedidoDTO.F4211_LITM) && pedidoDTO.F4211_LITM.Length > 15)
            {
                // VERY HARDCODE
                detalle.recd_producto = "99999999999999";
            }
            else
            {
                detalle.recd_producto = pedidoDTO.F4211_LITM;
            }


            detalle.recd_fechaVencimiento = Utils.ParseDate(Constants.FECHA_DEFAULT, "yyyy/MM/dd");


            // VERY HARDCODE
            detalle.recd_numeroPedido = "0";

            return(detalle);
        }
示例#21
0
        public int deletePedido(PedidoDTO pedidoDTO)
        {
            try
            {
                conexao = new Conexao();
                conn    = new SqlConnection();

                StringBuilder sbStringSQL = new StringBuilder();
                sbStringSQL.Append("DELETE FROM Pedido WHERE Id = @Id ");

                /*-----------------------------------------------------------------------*/

                conn = conexao.AbreFechaConexao(true);
                SqlCommand cmd = new SqlCommand(sbStringSQL.ToString(), conn);

                /*-----------------------------------------------------------------------*/
                /* Valores passados por parâmetros */

                cmd.Parameters.Add("@Id", System.Data.SqlDbType.BigInt).Value = pedidoDTO.Id;

                /*-----------------------------------------------------------------------*/

                return(cmd.ExecuteNonQuery());
            }
            catch (Exception ex)
            {
                throw new Exception("Erro: " + ex.Message.ToString());
            }
            finally
            {
                limpaObjetos();
            }
        }
示例#22
0
        public int insertPedido(PedidoDTO pedidoDTO)
        {
            try
            {
                conexao = new Conexao();
                conn    = new SqlConnection();

                StringBuilder sbCampos = new StringBuilder();
                sbCampos.Append("" +
                                "Id         , " +
                                "Id_Cliente , " +
                                "Data       , " +
                                "Descricao  , " +
                                "Valor        " +
                                "");

                StringBuilder sbValores = new StringBuilder();
                sbValores.Append("" +
                                 "@Id         , " +
                                 "@Id_Cliente , " +
                                 "@Data       , " +
                                 "@Descricao  , " +
                                 "@Valor        " +
                                 "");


                StringBuilder sbStringSQL = new StringBuilder();
                sbStringSQL.Append("INSERT INTO Pedido(" + sbCampos.ToString() + ") " +
                                   "VALUES(" + sbValores.ToString() + ") " +
                                   "");

                /*-----------------------------------------------------------------------*/

                conn = conexao.AbreFechaConexao(true);
                SqlCommand cmd = new SqlCommand(sbStringSQL.ToString(), conn);

                /*-----------------------------------------------------------------------*/
                /* Valores passados por parâmetros */

                cmd.Parameters.Add("@Id", System.Data.SqlDbType.BigInt).Value          = pedidoDTO.Id;
                cmd.Parameters.Add("@Id_Cliente", System.Data.SqlDbType.BigInt).Value  = pedidoDTO.Cliente.Id;
                cmd.Parameters.Add("@Data", System.Data.SqlDbType.DateTime).Value      = pedidoDTO.Data;
                cmd.Parameters.Add("@Descricao", System.Data.SqlDbType.NVarChar).Value = pedidoDTO.Descricao;
                cmd.Parameters.Add("@Valor", System.Data.SqlDbType.Decimal).Value      = pedidoDTO.Valor;

                /*-----------------------------------------------------------------------*/

                return(cmd.ExecuteNonQuery());
            }
            catch (Exception ex)
            {
                throw new Exception("Erro: " + ex.Message.ToString());
            }
            finally
            {
                limpaObjetos();
            }
        }
        public async Task <Pedido> RealizarPedido(PedidoDTO pedidoDto)
        {
            //var longlat = $"POINT({pedidoDto.Latitude} {pedidoDto.Longitude})".Replace(",", ".");
            try
            {
                var pedido = new Pedido();
                pedido.Id       = Guid.NewGuid();
                pedido.DataHora = DateTime.Now;
                //pedido.LatLong = DbGeography.FromText(longlat);
                pedido.Latitude     = pedidoDto.Latitude;
                pedido.Longitude    = pedidoDto.Longitude;
                pedido.Peso         = pedidoDto.Peso;
                pedido.StatusPedido = StatusPedido.aguardandoAprovacao;

                //using (var trans = new TransactionScope())
                //{
                //Verificar a distância entre Origem e Destindo (Pedido)
                var distance = new Coordinates(latitude, longitude)
                               .DistanceTo(
                    new Coordinates(pedido.Latitude, pedido.Longitude),
                    UnitOfLength.Kilometers
                    );
                var drones = await _droneRepository.GetDisponiveis();

                //Verificar drones, que possuem autonomia de ida e volta

                //Qual automomia atual do drone = (Autonomia * Carga) / 100
                //Temos que pegar os Drones com AA >= Distancia do Pedido * 2
                var dronesDispAutonomia = drones?.Where(x => (((x.Autonomia * x.Carga) / 100) * x.Velocidade) >= (distance * 2))?.ToList();

                //Dos Drones com autonomia, quais podem carregar o peso do pedido
                var dronesComCapacidade = dronesDispAutonomia?.Where(x => x.Capacidade >= pedido.Peso)?.ToList();

                //Caso dronesComCapacidade não seja nulo e contenha objetos (drone), pode ser responsável pela entrega
                if (dronesComCapacidade != null && dronesComCapacidade.Count() > 0)
                {
                    var drone = dronesComCapacidade.FirstOrDefault();
                    pedido.Drone        = drone;
                    pedido.StatusPedido = StatusPedido.despachado;
                    drone.StatusDrone   = StatusDrone.emTrajeto;
                    await _pedidoRepository.AddPedido(pedido);

                    await _droneRepository.UpdateDrone(drone);
                }
                else
                {
                    pedido.StatusPedido = StatusPedido.reprovado;
                    await _pedidoRepository.AddPedido(pedido);
                }
                //trans.Complete();
                return(pedido);
                //}
            }
            catch (Exception ex)
            {
                throw;
            }
        }
示例#24
0
        private string ObtenerMensajePaquete(PedidoDTO pedido)
        {
            var fechaEntregaPaquete = ObtenerFechaEntrega(pedido);
            var FechaActual         = _obtenerFechaActual.ObtenerFechaActual();
            var costoPaquete        = _calculaCostoEnvio.costoPaquete(pedido.Distancia, pedido.Paqueteria,
                                                                      pedido.FechaPedido);

            return(_generadorMensajePaquete.prepararMensajePedido(pedido, fechaEntregaPaquete, FechaActual, costoPaquete));
        }
示例#25
0
 public IGeneradorMensajeBuilder IniciarConfiguracionPedido(PedidoDTO pedido)
 {
     this.pedido = pedido;
     Mensaje     = prepararPlatillaIncial();
     sustituirDatos("E2", $"{pedido.OrigenPaquete}, {pedido.PaisOrigen}");
     sustituirDatos("E4", $"{pedido.Destino}, {pedido.paisDestino}");
     sustituirDatos("E9", pedido.Paqueteria);
     return(this);
 }
示例#26
0
        public PedidoDTO RegistrarPedido(PedidoDTO pedido)
        {
            DateTime fecha = DateTime.Now;

            pedido.fecha_Pedido = fecha;
            this.context.Pedidos.Add(pedido);
            this.context.SaveChanges();
            return(pedido);
        }
        public string ObtenerInformacionPedidoPaquete(PedidoDTO _pedido, DateTime _dtFechaActual)
        {
            decimal  dTiempoEntrega = tiempoEntrega.ObtenerTiempoEntrega(_pedido.dDistancia, _pedido.enumMedioTransporte);//Falta convertir a int
            int      iTiempoEntrega = Convert.ToInt32(dTiempoEntrega);
            DateTime dtFechaEntrega = fechaEntrega.ObtenerFechaEntrega(_pedido.dtFechaPedido, iTiempoEntrega);
            decimal  dCostoEnvio    = costoEnvio.ObtenerCostoEnvio(_pedido.enumEmpresa, _pedido.dtFechaPedido, _pedido.dDistancia);

            return(mensajePedidoPaquete.ObtenerMensajePedidoPaquete(_pedido, dtFechaEntrega, _dtFechaActual, dTiempoEntrega, dCostoEnvio));
        }
        public IHttpActionResult Aprovar(int id)
        {
            //todo:tratar o objectnotfound excpetion depois
            var pedido    = _pedidoService.Aprovar(id);
            var pedidoDTO = new PedidoDTO();

            pedidoDTO.InjectFrom(pedido);

            return(Ok(pedidoDTO));
        }
示例#29
0
        private void PopularDadosPedido(CarrinhoDTO carrinho, EnderecoDTO endereco, PedidoDTO pedido)
        {
            pedido.VoucherCodigo    = carrinho.Voucher?.Codigo;
            pedido.VoucherUtilizado = carrinho.VoucherUtilizado;
            pedido.ValorTotal       = carrinho.ValorTotal;
            pedido.Desconto         = carrinho.Desconto;
            pedido.PedidoItems      = carrinho.Itens;

            pedido.Endereco = endereco;
        }
示例#30
0
 private CompradorDTO CrearCompradorDTO(PedidoDTO pedido)
 {
     return(new CompradorDTO()
     {
         Nombre = "Micaela",
         Telefono = "Casanova",
         Direccion = "Sarandi",
         PedidoId = pedido.Id,
     });
 }
        private Response Validate(PedidoDTO item)
        {
            Response response = new Response();

            if (item.NomeNoPedido.Equals(""))
            {
                response.Erros.Add("O nome deve ser informado.");
            }

            return(response);
        }