Ejemplo n.º 1
0
        public ActionResult Post([FromBody] PedidosModel pedidom)
        {
            List <PedidosModel> listaPedi = null;
            int    result = 0;
            string msj    = "¡Error al obtener mis pedidos intente más tarde!";

            try
            {
                listaPedi = pedidom.obtenerPedidosPasadosByPkTienda();
                result    = 1;
                msj       = "¡Pedidos obtenidos!";
            }
            catch
            {
                result = 0;
                msj    = "¡Error al obtener mis pedidos intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                pedidos = listaPedi
            }));
        }
Ejemplo n.º 2
0
        public PedidosView(Cliente cliente)
        {
            InitializeComponent();

            _pedidosModel  = new PedidosModel(cliente);
            BindingContext = _pedidosModel;
        }
Ejemplo n.º 3
0
        public ActionResult Post([FromBody] PedidosModel pedidom)
        {
            int    result = 0;
            string msj    = "¡Error al obtener detalle de pedido, intente más tarde!";

            try
            {
                if (pedidom.obtenerPedidoByPk())
                {
                    result = 1;
                    msj    = "¡Detalle de pedido obtenido!";
                }
            }
            catch
            {
                result = 0;
                msj    = "¡Error al obtener detalle de pedido, intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                pedido = pedidom
            }));
        }
Ejemplo n.º 4
0
        private void AsignarPorArticulo(string fkarticulo, PedidosModel pedido, OperacionSaldarPedidosModel model)
        {
            var linea = model.Lineas.Single(f => f.Codigo == fkarticulo);

            var cantidadpedida = linea.Cantidadpedida - linea.Cantidadpendiente;

            foreach (var item in pedido.Lineas)
            {
                if (item.Fkarticulos == fkarticulo)
                {
                    var cantidadpendiente = (item.Cantidad ?? 0) - (item.Cantidadpedida ?? 0);
                    var auxcantidad       = cantidadpendiente >= cantidadpedida ? cantidadpedida : cantidadpendiente;
                    item.Cantidadpedida = (item.Cantidadpedida ?? 0) + auxcantidad;
                    if (item.Cantidadpedida < 0)
                    {
                        item.Cantidadpedida = 0;
                    }
                    if (item.Cantidadpedida > item.Cantidad)
                    {
                        item.Cantidadpedida = item.Cantidad;
                    }
                    cantidadpedida -= auxcantidad;
                }
            }
        }
Ejemplo n.º 5
0
 public ActionResult Create(PedidosModel collection)
 {
     pedCollection = _dbcontext.database.GetCollection <PedidosModel>("Pedidos");
     pedCollection.InsertOne(collection);
     Console.WriteLine("Insert");
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 6
0
        public string validarDados(PedidosModel pedido)
        {
            string mensagem = "";

            if (pedido.cliente.idCliente is 0)
            {
                mensagem += "***Cliente não Escolhido***\r\n\r\n";
            }
            if (pedido.Produtos.produtos.Count == 0)
            {
                mensagem += "***Produtos não Escolhidos***\r\n\r\n";
            }
            if (pedido.condicao.parcelas.Count == 0)
            {
                mensagem += "***Forma de Pagamento não Escolhida***\r\n\r\n";
            }
            else
            {
                decimal valorTotalParcela = 0;
                foreach (var item in pedido.condicao.parcelas)
                {
                    valorTotalParcela += item.valorParcela;
                }
                if (valorTotalParcela < pedido.valorTotal)
                {
                    mensagem += "***Valor das Parcelas esta '''Abaixo''' do Valor Total do Pedido***";
                }
                if (valorTotalParcela > pedido.valorTotal)
                {
                    mensagem += "***Valor das Parcelas esta '''Acima''' do Valor Total do Pedido***";
                }
            }
            return(mensagem);
        }
        public bool obtenerPagadoDetalleByFolio()
        {
            PedidosModel aux;

            try
            {
                string sql = @"SELECT PK,PK_TIENDA,SUM(SUBTOTAL)MONTO,FOLIO_PAGO,FECHA_PAGO_TIENDA
                            from PEDIDOS
                            WHERE PK_TIENDA =@PK_TIENDA AND FOLIO_PAGO=@FOLIO_PAGO AND PK_ESTATUS=5 AND BORRADO=0
                            GROUP BY PK_TIENDA, FOLIO_PAGO, FECHA_PAGO_TIENDA,PK";
                db.PreparedSQL(sql);
                db.command.Parameters.AddWithValue("@PK_TIENDA", PK_TIENDA);
                db.command.Parameters.AddWithValue("@FOLIO_PAGO", FOLIO_PAGO);
                ResultSet res = db.getTable();
                while (res.Next())
                {
                    PK_TIENDA         = res.Get("PK_TIENDA");
                    FECHA_PAGO_TIENDA = res.Get("FECHA_PAGO_TIENDA");
                    aux    = new PedidosModel();
                    aux.PK = res.Get("PK");
                    MONTO += res.GetDouble("MONTO");
                    if (aux.obtenerPedidoByPkSinDetalle())
                    {
                        ListaPedidos.Add(aux);
                        NUM_PEDIDOS += 1;
                    }
                }
                return(true);
            }
            catch (Exception e) { LogModel.registra("Error al obtener total detalle list", e.ToString()); }

            return(false);
        }
Ejemplo n.º 8
0
        public void UpdateOrder(PedidosModel order)
        {
            var orderFinded = orderCollection.AsQueryable <PedidosModel>().SingleOrDefault(x => x.OrderId == order.OrderId);

            var filter = Builders <PedidosModel> .Filter.Eq("_id", order.OrderId);

            var update = Builders <PedidosModel> .Update
                         .Set("orderState", order.orderState);

            var result = orderCollection.UpdateOne(filter, update);
        }
Ejemplo n.º 9
0
        //private void EliminarStock(AlbaranesModel nuevo)
        //{
        //    OperarStock(nuevo, TipoOperacionStock.Salida, TipoOperacionService.EliminarEntregaStock);
        //}

        #endregion

        #region Importar pedido

        public override AlbaranesModel ImportarPedido(PedidosModel presupuesto)
        {
            var result = Helper.fModel.GetModel <AlbaranesModel>(_context);

            result.Importado = true;
            ImportarCabecera(presupuesto, result);
            base.EstablecerSerie(presupuesto.Fkseries, result);
            result.Fkalmacen = _context.Fkalmacen;
            result.Fkpedidos = presupuesto.Referencia;
            return(result);
        }
        public ActionResult Post([FromBody] CodigosDescuentoModel codigom)
        {
            int    result = 0;
            string msj    = "¡Error al obtener código de descuento intente más tarde!";

            try
            {
                if (codigom.buscarCodigoDescuento())
                {
                    if (codigom.VIGENTE)
                    {
                        PedidosModel pedidom = new PedidosModel();
                        pedidom.CODIGO_DESCUENTO = codigom.CODIGO;
                        pedidom.PK_CLIENTE       = codigom.PK_CLIENTE;
                        if (pedidom.obtenerCantidadCodigosUsados())
                        {
                            if (pedidom.CANTIDAD_DECUENTOS < codigom.MAXIMO_USOS)
                            {
                                result = 1;
                                msj    = "¡Código valido!";
                            }
                            else
                            {
                                result = 0;
                                msj    = "¡Código ya fue utilizado!";
                            }
                        }
                    }
                    else
                    {
                        result = 0;
                        msj    = "¡Código no vigente!";
                    }
                }
                else
                {
                    result = 0;
                    msj    = "¡Código inválido!";
                }
            }
            catch
            {
                result = 0;
                msj    = "¡Error al obtener código de descuento intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                codigo = codigom
            }));
        }
Ejemplo n.º 11
0
        public ActionResult Edit(string id, PedidosModel pedido)
        {
            try
            {
                // TODO: Add update logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 12
0
        public AlbaranesModel CrearAlbaranImputacionMateriales(PedidosModel presupuesto)
        {
            var result = Helper.fModel.GetModel <AlbaranesModel>(_context);

            result.Importado = true;
            ImportarCabecera(presupuesto, result);
            result.Fkseries    = _db.Series.Where(f => f.empresa == Empresa && f.salidasvarias == true).Select(f => f.id).SingleOrDefault();
            result.Tipoalbaran = (int)TipoAlbaran.ImputacionMateriales;
            result.Fkclientes  = _db.Empresas.Where(f => presupuesto.Empresa == f.id).Select(f => f.fkCuentaSalidasVariasAlmacen).SingleOrDefault();
            result.Fkalmacen   = _context.Fkalmacen;
            result.Fkpedidos   = presupuesto.Referencia;
            return(result);
        }
Ejemplo n.º 13
0
        public ActionResult Create(PedidosModel pedido)
        {
            try
            {
                // TODO: Add insert logic here

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 14
0
        public ActionResult Obtener([FromBody] PedidosModel pedido)
        {
            int    result = 0, cantidadP = 0, pk_falta_calificacion = 0;
            string msj = "¡Error al obtener tiendas intente más tarde!";
            string liga = "", apiOpen = "", produccion = "", apiOpenCharId = "";
            List <TiendasModel>        lista = null;
            List <ProductosModel>      listaPromos = null;
            ProductosModel             aux1 = new ProductosModel();
            ImagenesSliderModel        imgSlider = new ImagenesSliderModel();
            List <ImagenesSliderModel> imagenesSlider = null;

            try
            {
                TiendasModel tienda = new TiendasModel();
                lista         = tienda.getTiendasLight();
                listaPromos   = aux1.getProductosByPromocion();
                liga          = "Conoce ACMarket app en: " + VariablesModel.getVariableValue("LIGA_COMPARTIR");
                apiOpen       = VariablesModel.getVariableValue("PUBLICAOPEN");
                apiOpenCharId = VariablesModel.getVariableValue("IDOPEN");
                produccion    = VariablesModel.getVariableValue("API_PRODUCTIVA_OPEN_PAY");
                cantidadP     = pedido.obtenerCantidadPedidosByPkCliente();
                if (pedido.faltaCalificacion())
                {
                    pk_falta_calificacion = int.Parse(pedido.PK);
                }
                imagenesSlider = imgSlider.getList();
                result         = 1;
                msj            = "¡Tiendas obtenidas!";
            }
            catch
            {
                result = 0;
                msj    = "¡Error al obtener tiendas intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                tiendas = lista,
                link = liga,
                publicaopen = apiOpen,
                openproduccion = produccion,
                idopen = apiOpenCharId,
                promos = listaPromos,
                cantidadMisPedidos = cantidadP,
                faltaCalificacion = pk_falta_calificacion,
                sliderImg = imagenesSlider
            }));
        }
Ejemplo n.º 15
0
        public ActionResult Delete(string id, PedidosModel collection)
        {
            try
            {
                pedCollection = _dbcontext.database.GetCollection <PedidosModel>("Pedidos");
                pedCollection.DeleteOne(Builders <PedidosModel> .Filter.Eq("_id", ObjectId.Parse(id)));

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 16
0
        public void restoreBackUp(string nomeTabela, JToken tabela)
        {
            DBService dBService = new DBService();

            dBService.truncateTable(nomeTabela, "ped_Pedido_int_PK");
            ParseUtils encodeString = new ParseUtils();

            foreach (var linha in tabela)
            {
                PedidosModel pedidosModel = new PedidosModel();
                pedidosModel.cliente = new ClientesModel();

                for (int i = 0; i < linha.Count(); i++)
                {
                    var itens = linha[i];
                    if (itens.Value <int>("ped_Pedido_int_PK") != 0)
                    {
                        pedidosModel.idPedido = itens.Value <int>("ped_Pedido_int_PK");
                    }
                    if (itens.Value <int>("ped_Empresa_int_FK") != 0)
                    {
                        pedidosModel.idEmpresa = itens.Value <int>("ped_Empresa_int_FK");
                    }
                    if (itens.Value <int>("ped_idCliente_int_FK") != 0)
                    {
                        pedidosModel.cliente.idCliente = itens.Value <int>("ped_idCliente_int_FK");
                    }
                    if (itens.Value <decimal>("ped_ValorTotal_mon") != 0)
                    {
                        pedidosModel.valorTotal = itens.Value <decimal>("ped_ValorTotal_mon");
                    }
                    if (itens.Value <string>("ped_Observacao_chr") != null)
                    {
                        pedidosModel.observacao = encodeString.encodeString(itens.Value <string>("ped_Observacao_chr"));
                    }
                    if (itens.Value <decimal>("ped_Desconto_mon") != 0)
                    {
                        pedidosModel.desconto = itens.Value <decimal>("ped_Desconto_mon");
                    }
                    if (itens.Value <string>("ped_DataVenda_dtm") != null)
                    {
                        string iDate = itens.Value <string>("ped_DataVenda_dtm");
                        pedidosModel.dataVenda = Convert.ToDateTime(iDate);
                    }
                }
                inPedidoRestore(pedidosModel.idEmpresa, pedidosModel);
            }
        }
Ejemplo n.º 17
0
        private void btnFecharPed_Click(object sender, EventArgs e)
        {
            valorTotal += valorFrete;
            //valorTotal -= valorDesconto;

            PedidosModel pedido = new PedidosModel();

            pedido.idPedido   = 0;
            pedido.Produtos   = produtos;
            pedido.cliente    = cliente;
            pedido.dataVenda  = DateTime.Now;
            pedido.desconto   = valorDesconto;
            pedido.condicao   = condicoes;
            pedido.frete      = frete;
            pedido.valorTotal = valorTotal;
            pedido.observacao = txtObs.Text;

            var valido = validarDados(pedido);

            if (valido != "")
            {
                valorTotal -= valorFrete;
                var caption = "Erro no Preenchimento do Pedido: ";
                MessageBox.Show(valido, caption);

                return;
            }

            PedidoService pedidoService = new PedidoService();
            bool          success       = pedidoService.inPedido(idEmpresa, pedido);

            if (success)
            {
                MessageBox.Show("Pedido Gravado com Sucesso");
                voltar();
                //frmInicio.pContainer.Controls.Clear();
                //frmPedidos frmPed = new frmPedidos(idEmpresa, frmInicio);
                //frmPed.TopLevel = false;
                //frmInicio.pContainer.Controls.Add(frmPed);
                //frmPed.Show();
            }
            else
            {
                MessageBox.Show("Erro ao Gravar Pedido");
            }
        }
Ejemplo n.º 18
0
        public async Task <ActionResult> Post([FromBody] PedidosModel pedidom)
        {
            int    result = 0;
            string msj    = "¡Error al actualizar estatus intente más tarde!";

            try
            {
                if (pedidom.setEstatus())
                {
                    try
                    {
                        if (pedidom.obtenerPedidoByPk())
                        {
                            ClientesModel cliente = new ClientesModel();
                            cliente.PK = pedidom.PK_CLIENTE;
                            if (cliente.getClienteByPk())
                            {
                                if (!string.IsNullOrEmpty(cliente.TOKEN))
                                {
                                    NotificacionesModel notificacion = new NotificacionesModel();
                                    notificacion.TITLE   = "¡Se está preparando el pedido!";
                                    notificacion.MESSAGE = "¡La tienda '" + pedidom.TIENDA + "' está preparando tu pedido!";
                                    notificacion.TOKENS.Add(cliente.TOKEN);
                                    await notificacion.sendNotificationAsync();
                                }
                            }
                        }
                    }
                    catch (Exception e) { LogModel.registra("Error al enviar notificación set estatus Pedido Tienda", e.ToString()); }
                    result = 1;
                    msj    = "¡Estatus actualizado!";
                }
            }
            catch
            {
                result = 0;
                msj    = "¡Error al actualizar estatus intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                pedido = pedidom
            }));
        }
Ejemplo n.º 19
0
        public bool inPedidoRestore(int idEmp, PedidosModel pedido)
        {
            string comandoSql = "insert into TB_CA_Pedidos_ped (" +
                                "ped_Pedido_int_PK," +
                                "ped_Empresa_int_FK," +
                                "ped_idCliente_int_FK," +
                                "ped_ValorTotal_mon," +
                                "ped_DataVenda_dtm," +
                                "ped_Observacao_chr," +
                                "ped_Desconto_mon ) values ( " +
                                pedido.idPedido + ", " +
                                idEmp.ToString() + ", " +
                                pedido.cliente.idCliente.ToString() + ", '" +
                                pedido.valorTotal + "', '" +
                                pedido.dataVenda + "', '" +
                                pedido.observacao + "', '" +
                                pedido.desconto + "' )";

            OleDbCommand cmd = new OleDbCommand(comandoSql, DBService.conexao);

            try
            {
                //Abertura da conexão
                DBService.conexao.Open();

                int succ = cmd.ExecuteNonQuery();

                if (succ == 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception exc)
            {
                throw new Exception(exc.Message);
            }
            finally
            {
                DBService.conexao.Close();
            }
        }
Ejemplo n.º 20
0
        protected void ImportarCabecera(PedidosModel presupuesto, AlbaranesModel result)
        {
            var properties = typeof(AlbaranesModel).GetProperties();

            foreach (var item in properties)
            {
                if (item.Name != "Lineas" && item.Name != "Totales")
                {
                    var property = typeof(PedidosModel).GetProperty(item.Name);
                    if (property != null && property.CanWrite)
                    {
                        var value = property.GetValue(presupuesto);
                        item.SetValue(result, value);
                    }
                }
            }

            result.Fechadocumento = DateTime.Now;
            result.Fkestados      = _appService.GetConfiguracion().Estadoalbaranesventasinicial;
        }
Ejemplo n.º 21
0
        public ActionResult Edit(string id, PedidosModel collection)
        {
            try
            {
                pedCollection = _dbcontext.database.GetCollection <PedidosModel>("Pedidos");
                pedCollection.DeleteOne(Builders <PedidosModel> .Filter.Eq("_id", ObjectId.Parse(id)));
                Create(collection);
                var filter = Builders <PedidosModel> .Filter.Eq("_id", ObjectId.Parse(id));

                var update = Builders <PedidosModel> .Update.Set("Numero Pedido", collection.idPedido);//Se puede agregar mas haciendo un .Set("",) extra

                var result = pedCollection.UpdateOne(filter, update);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 22
0
        public async Task <PedidosModel> GerarPedido(Endereco endereco)
        {
            var user = App_Start.SessionContext.Instance.GetUserData();
            List <PedidoElementModel> cartItems = (List <PedidoElementModel>)PIDI.App_Start.SessionManager.ReturnSessionObject("items");

            var generatedOrder = new PedidosModel();

            generatedOrder.userId    = user.userId;
            generatedOrder.OrderDate = DateTime.Now;
            //generatedOrder.OrderDate = DateTime.Parse("16/10/2019 20:31:19"); usei para teste de filtragem
            generatedOrder.paymentType          = "paypal";
            generatedOrder.State                = endereco.uf;
            generatedOrder.City                 = endereco.cidade;
            generatedOrder.Country              = "Brasil";
            generatedOrder.Address              = endereco.rua;
            generatedOrder.orderState           = "Aguardando Pagamento";
            generatedOrder.PostalCode           = endereco.cep;
            generatedOrder.produtosRequisitados = cartItems;

            for (int i = 0; i < orderImages.Count; i++)
            {
                var target = generatedOrder.produtosRequisitados[i];
                var key    = target.produtoRequisitado.Id.ToString();
                if (orderImages.ContainsKey(key))
                {
                    var img = new MongoPictureModel();
                    img.PictureDataAsString = orderImages[key];
                    img.id = ObjectId.GenerateNewId();

                    target.userImage = img;
                }
            }


            generatedOrder.Total = GerarTotal(cartItems);
            PedidosModel x = await CriarPedido(generatedOrder);

            return(x);
        }
Ejemplo n.º 23
0
        public virtual AlbaranesModel ImportarPedido(PedidosModel presupuesto)
        {
            //calcular serie asociada
            if (presupuesto.Lineas.Any(f => (f.Cantidad ?? 0) - (f.Cantidadpedida ?? 0) > 0))
            {
                var result = Helper.fModel.GetModel <AlbaranesModel>(_context);
                result.Importado = true;
                ImportarCabecera(presupuesto, result);
                var maxId = result.Lineas.Any() ? result.Lineas.Max(f => f.Id) : 0;
                result.Lineas.AddRange(ImportarLineas(maxId, ConvertLineasModelToILineas(presupuesto.Id.ToString(), presupuesto.Referencia, presupuesto.Lineas)));
                EstablecerSerie(presupuesto.Fkseries, result);

                //recalculo importes lineas y totales
                RecalculaLineas(result.Lineas, result.Porcentajedescuentoprontopago ?? 0, result.Porcentajedescuentocomercial ?? 0, result.Fkregimeniva, result.Importeportes ?? 0, result.Decimalesmonedas);
                result.Totales = Recalculartotales(result.Lineas, result.Porcentajedescuentoprontopago ?? 0,
                                                   result.Porcentajedescuentocomercial ?? 0, result.Importeportes ?? 0,
                                                   result.Decimalesmonedas).ToList();

                return(result);
            }

            throw new ValidationException(RAlbaranes.ErrorSinCantidadPendiente);
        }
 public ActionResult ConfirmarPedido()
 {
     NuevoPedido = new PedidosModel();
     return(View("Index"));
 }
Ejemplo n.º 25
0
        private void AsignarPorArticuloMedidas(string fkarticulos, double?largo, double?ancho, double?grueso, PedidosModel pedido, OperacionSaldarPedidosModel model)
        {
            var linea          = model.Lineas.Single(f => f.Codigo == fkarticulos && Funciones.Qdouble(f.Largo.Replace(".", "").Replace(",", ".")) == largo && Funciones.Qdouble(f.Ancho.Replace(".", "").Replace(",", ".")) == ancho && Funciones.Qdouble(f.Grueso.Replace(".", "").Replace(",", ".")) == grueso);
            var cantidadpedida = linea.Cantidadpedida - linea.Cantidadpendiente;

            foreach (var item in pedido.Lineas)
            {
                if (item.Fkarticulos == fkarticulos &&
                    item.Largo == largo &&
                    item.Ancho == ancho &&
                    item.Grueso == grueso)
                {
                    var cantidadpendiente = (item.Cantidad ?? 0) - (item.Cantidadpedida ?? 0);
                    var auxcantidad       = cantidadpendiente >= cantidadpedida ? cantidadpedida : cantidadpendiente;
                    item.Cantidadpedida = (item.Cantidadpedida ?? 0) + auxcantidad;

                    if (item.Cantidadpedida < 0)
                    {
                        item.Cantidadpedida = 0;
                    }
                    if (item.Cantidadpedida > item.Cantidad)
                    {
                        item.Cantidadpedida = item.Cantidad;
                    }

                    cantidadpedida -= auxcantidad;
                }
            }
        }
Ejemplo n.º 26
0
        private void AsignarCantidadesPedidas(IGrouping <string, PedidosLinModel> item, PedidosModel pedido, OperacionSaldarPedidosModel model)
        {
            if (pedido.Lineas.Count(f => f.Fkarticulos == item.Key) > 1)
            {
                var agrupacionArticulos =
                    pedido.Lineas.Where(f => f.Fkarticulos == item.Key)
                    .GroupBy(f => new { f.Fkarticulos, f.Largo, f.Ancho, f.Grueso });

                foreach (var lineaarticulo in agrupacionArticulos)
                {
                    AsignarPorArticuloMedidas(lineaarticulo.Key.Fkarticulos, lineaarticulo.Key.Largo,
                                              lineaarticulo.Key.Ancho, lineaarticulo.Key.Grueso, pedido, model);
                }
            }
            else
            {
                AsignarPorArticulo(item.Key, pedido, model);
            }
        }
        public async Task <ActionResult> Post([FromBody] PedidosModel pedidom)
        {
            int    result = 0;
            string msj    = "¡Error al actualizar estatus intente más tarde!";

            try
            {
                if (pedidom.setEstatus())
                {
                    try
                    {
                        if (pedidom.obtenerPedidoByPk())
                        {
                            ClientesModel cliente = new ClientesModel();
                            cliente.PK = pedidom.PK_CLIENTE;
                            RepartidoresModel repartidor = new RepartidoresModel();
                            repartidor.PK = pedidom.PK_REPARTIDOR;
                            if (cliente.getClienteByPk() && repartidor.obtenerUsuarioByPK())
                            {
                                if (!string.IsNullOrEmpty(cliente.TOKEN))
                                {
                                    NotificacionesModel notificacion = new NotificacionesModel();
                                    switch (int.Parse(pedidom.PK_ESTATUS))
                                    {
                                    case 3:
                                        notificacion.TITLE   = "¡Tu repartidor esta en negocio!";
                                        notificacion.MESSAGE = "¡" + repartidor.NOMBRE + "' está esperando la entrega de tu pedido!";
                                        break;

                                    case 4:
                                        notificacion.TITLE   = "¡Tu pedido está en camino!";
                                        notificacion.MESSAGE = "¡" + repartidor.NOMBRE + "' está en camino con tu pedido!";
                                        break;

                                    case 5:
                                        notificacion.TITLE   = "¡Tu pedido se entrego!";
                                        notificacion.MESSAGE = "¡Gracias por utilizar acmarket!";
                                        break;
                                    }
                                    notificacion.TOKENS.Add(cliente.TOKEN);
                                    await notificacion.sendNotificationAsync();
                                }
                            }
                        }
                    }
                    catch (Exception e) { LogModel.registra("Error al enviar notificación set estatus Pedido Tienda", e.ToString()); }
                    result = 1;
                    msj    = "¡Estatus actualizado!";
                }
            }
            catch
            {
                result = 0;
                msj    = "¡Error al actualizar estatus intente más tarde!";
            }

            return(Ok(new
            {
                resultado = result,
                mensaje = msj,
                pedido = pedidom
            }));
        }
Ejemplo n.º 28
0
        private async Task <PedidosModel> CriarPedido(PedidosModel pedido)
        {
            await orderCollection.InsertOneAsync(pedido);

            return(pedido);
        }
Ejemplo n.º 29
0
        private void montaPed()
        {
            PedidoService     pedidoService     = new PedidoService();
            ItemPedidoService itemPedidoService = new ItemPedidoService();
            CondicaoService   condicaoService   = new CondicaoService();
            ClienteService    clienteService    = new ClienteService();
            ProdutoService    produtoService    = new ProdutoService();
            FreteService      freteService      = new FreteService();

            pedido          = pedidoService.sePedido(idEmpresa, idPedido);
            pedido.cliente  = clienteService.seCliente(idEmpresa, pedido.cliente.idCliente);
            pedido.Produtos = itemPedidoService.seItensPedido(idEmpresa, idPedido);
            pedido.condicao = condicaoService.seCondicaoPedido(idEmpresa, idPedido);
            pedido.frete    = freteService.seFretePedido(idEmpresa, idPedido);

            lblCliente.Text = pedido.cliente.nome;
            if (pedido.cliente.nome.Length > 23)
            {
                lblCliente.Text = pedido.cliente.nome.Substring(0, 23) + "...";
            }

            lblDataVenda.Text = pedido.dataVenda.ToShortDateString();
            lblTotal.Text     = pedido.valorTotal.ToString("C");
            lblFrete.Text     = pedido.frete.valorFrete.ToString("C");
            txtObs.Text       = pedido.observacao;

            foreach (ProdutosCesta itemCesta in pedido.Produtos.produtos)
            {
                String[] row =
                {
                    itemCesta.produto.idProduto.ToString(),
                    itemCesta.produto.produto,
                    itemCesta.produto.valor.ToString("C"),
                    itemCesta.quantidade.ToString(),
                    itemCesta.desconto.ToString("C"),
                    itemCesta.valorTotal.ToString("C")
                };

                ListViewItem item = new ListViewItem(row);
                lstProd.Items.Add(item);
            }

            foreach (CondicaoParcelas parcela in pedido.condicao.parcelas)
            {
                String[] row =
                {
                    parcela.idParcela.ToString(),
                    parcela.numeroParcela,
                    parcela.valorParcela.ToString("C"),
                    parcela.formaPagamento,
                    parcela.dataParcela.ToShortDateString(),
                    (parcela.pago == 1? "Sim": "Não"),
                    (parcela.pago == 1? parcela.dataPagamento.ToShortDateString(): "")
                };

                ListViewItem item = new ListViewItem(row);
                lstPag.Items.Add(item);
            }

            etiquetaCliente        = pedido.cliente.nome;
            etiquetaCliente       += pedido.cliente.responsavel == "" ? "" : "\r\nA/C: " + pedido.cliente.responsavel;
            etiquetaCliente       += "\r\n\r\nEndereço: " + pedido.cliente.endereco + ", " + pedido.cliente.numero;
            etiquetaCliente       += pedido.cliente.complemento == "" ? "" : "\r\nComplemento: " + pedido.cliente.complemento;
            etiquetaCliente       += "\r\nCEP: " + pedido.cliente.CEP;
            etiquetaCliente       += pedido.cliente.bairro == "" ? "" : "\r\nBairro: " + pedido.cliente.bairro;
            etiquetaCliente       += "\r\nCidade: " + pedido.cliente.cidade + " - " + pedido.cliente.estado;
            txtEtiqueta.Text       = etiquetaCliente;
            txtEtiqueta.ScrollBars = ScrollBars.Vertical;
        }
Ejemplo n.º 30
0
        public async Task <ActionResult> VerPedido(Endereco endereco)
        {
            PedidosModel pedido = await GerarPedido(endereco);

            return(View(pedido));
        }