예제 #1
0
        public List <PedidoDetalle> ListarDetalles(int id)
        {
            List <PedidoDetalle> pedidosDetalle = new List <PedidoDetalle>();
            PedidoDetalle        pedidoDetalle  = null;
            string sql = "select pd.*, pr.nombre productoNombre from pedidosDetalle pd join productos pr on pr.id = pd.productoId where pd.pedidoId = " + id;

            using (MySqlConnection conexion = new MySqlConnection(CadenaConexion))
            {
                conexion.Open();
                using (MySqlCommand comando = new MySqlCommand(sql, conexion))
                {
                    using (MySqlDataReader resultado = comando.ExecuteReader())
                    {
                        while (resultado.Read())
                        {
                            pedidoDetalle = new PedidoDetalle()
                            {
                                Id             = (int)resultado["id"],
                                PedidoId       = (int)resultado["pedidoId"],
                                ProductoId     = (int)resultado["productoId"],
                                ProductoNombre = (string)resultado["productoNombre"],
                                Cantidad       = (int)resultado["cantidad"],
                                Precio         = (decimal)resultado["precio"],
                                Total          = (decimal)resultado["total"]
                            };
                            pedidosDetalle.Add(pedidoDetalle);
                        }
                    }
                }
            }
            return(pedidosDetalle);
        }
예제 #2
0
 public void AgregarProducto(PedidoDetalle Datos)
 {
     try
     {
         Datos.Completado = false;
         object[]      Parametros = { Datos.IDPedido, Datos.IDProducto, Datos.IDUsuario };
         SqlDataReader Dr         = SqlHelper.ExecuteReader(Datos.Conexion, "Produccion.spCSLDB_set_AgregarProductoPedidoAdmin", Parametros);
         //object Result = SqlHelper.ExecuteScalar(Datos.Conexion, "Produccion.spCSLDB_set_AgregarProductoPedidoAdmin", Parametros);
         //if(Result!= null)
         //{
         //    int Resultado = 0;
         //    if(int.TryParse(Result.ToString(), out Resultado))
         //    {
         //        Datos.Completado = (Resultado == 1);
         //        Datos.Resultado = Resultado;
         //    }
         //}
         while (Dr.Read())
         {
             int Resultado = !Dr.IsDBNull(Dr.GetOrdinal("Resultado")) ? Dr.GetInt32(Dr.GetOrdinal("Resultado")) : 0;
             if (Resultado == 1)
             {
                 Datos.Completado      = true;
                 Datos.Resultado       = Resultado;
                 Datos.IDPedidoDetalle = !Dr.IsDBNull(Dr.GetOrdinal("IDPedidoDetalle")) ? Dr.GetString(Dr.GetOrdinal("IDPedidoDetalle")) : string.Empty;
             }
         }
         Dr.Close();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #3
0
 private void btnReemplazar_Click(object sender, EventArgs e)
 {
     try
     {
         frmNuevoPedidoReemplazoProducto AgregarProducto = new frmNuevoPedidoReemplazoProducto();
         AgregarProducto.ShowDialog();
         AgregarProducto.Dispose();
         if (AgregarProducto.DialogResult == DialogResult.OK)
         {
             PedidoDetalle Aux = AgregarProducto.Datos;
             if (!this.ExisteItemClaveEnLista(Aux))
             {
                 Aux.IDPedidoDetalle = string.Empty;
                 Aux.IDPedido        = NuevoRegistro ? string.Empty : this._DatosPedido.IDPedido;
                 this._DatosPedido.DetallePedido.Add(Aux);
                 this.CargarGridPedidoDetalle();
             }
             else
             {
                 MessageBox.Show("El producto a reemplazar ya se encuentra agregado.", Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Warning);
             }
         }
     }
     catch (Exception ex)
     {
         LogError.AddExcFileTxt(ex, "frmNuevoPedido ~ btnReemplazar_Click");
         MessageBox.Show(Comun.MensajeError, Comun.Sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #4
0
 private List <Error> ValidarDatos()
 {
     try
     {
         List <Error> Errores = new List <Error>();
         int          Aux     = 0;
         if (string.IsNullOrEmpty(this.Actual.IDProducto))
         {
             Errores.Add(new Error {
                 Numero = (Aux += 1), Descripcion = "Seleccione un producto.", ControlSender = this.btnElegirProducto
             });
         }
         if (this.cmbEmpleados.SelectedIndex == -1)
         {
             Errores.Add(new Error {
                 Numero = (Aux += 1), Descripcion = "Seleccione un empleado.", ControlSender = this.cmbEmpleados
             });
         }
         PedidoDetalle AuxClave = this.ObtenerClaveSeleccionada();
         if (string.IsNullOrEmpty(AuxClave.IDAsignacion))
         {
             Errores.Add(new Error {
                 Numero = (Aux += 1), Descripcion = "Seleccione una clave de producto.", ControlSender = this.btnElegirProducto
             });
         }
         return(Errores);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public List <PedidoDetalle> Listar()
        {
            List <PedidoDetalle> pedidosDetalle = new List <PedidoDetalle>();
            PedidoDetalle        pedidoDetalle  = null;
            string sql = "select * from pedidosDetalle";

            using (MySqlConnection conexion = new MySqlConnection(CadenaConexion))
            {
                conexion.Open();
                using (MySqlCommand comando = new MySqlCommand(sql, conexion))
                {
                    using (MySqlDataReader resultado = comando.ExecuteReader())
                    {
                        while (resultado.Read())
                        {
                            pedidoDetalle = new PedidoDetalle()
                            {
                                Id         = (int)resultado["id"],
                                PedidoId   = (int)resultado["pedidoId"],
                                ProductoId = (int)resultado["productoId"],
                                Cantidad   = (int)resultado["cantidad"],
                                Precio     = (decimal)resultado["precio"],
                                Total      = (decimal)resultado["total"]
                            };
                            pedidosDetalle.Add(pedidoDetalle);
                        }
                    }
                }
            }
            return(pedidosDetalle);
        }
예제 #6
0
        public PedidoDetalle ModificarPedidoDetalle(int numeroItem, int codCompania, int codSucursalCia, int ano, int numeroPedido, int codItemArticulo, int unidadesPedidas, int unidadesComprometidas, double importePrecioUnitarioSIGV, double importePrecioUnitarioCIGV, double importeSubtotalBruto, double porcentajeDescuento, double importeSubtotalDescuento, double importeSubtotalNeto, int codEstadoAtencion, int codEstadoRegistro, string codUsuarioCreador, DateTime fecCreacion, string codUsuarioUpdate, DateTime fecUpdate)
        {
            PedidoDetalle pedidoDetalleAModificar = new PedidoDetalle()
            {
                NumeroItem                = numeroItem,
                CodCompania               = codCompania,
                CodSucursalCia            = codSucursalCia,
                Ano                       = ano,
                NumeroPedido              = numeroPedido,
                CodItemArticulo           = codItemArticulo,
                UnidadesPedidas           = unidadesPedidas,
                UnidadesComprometidas     = unidadesComprometidas,
                ImportePrecioUnitarioSIGV = importePrecioUnitarioSIGV,
                ImportePrecioUnitarioCIGV = importePrecioUnitarioCIGV,
                ImporteSubtotalBruto      = importeSubtotalBruto,
                PorcentajeDescuento       = porcentajeDescuento,
                ImporteSubtotalDescuento  = importeSubtotalDescuento,
                ImporteSubtotalNeto       = importeSubtotalNeto,
                CodEstadoAtencion         = codEstadoAtencion,
                CodEstadoRegistro         = codEstadoRegistro,
                CodUsuarioCreador         = codUsuarioCreador,
                FecCreacion               = fecCreacion,
                CodUsuarioUpdate          = codUsuarioUpdate,
                FecUpdate                 = fecUpdate
            };

            return(PedidoDetalleDAO.Modificar(pedidoDetalleAModificar));
        }
예제 #7
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            PedidoDetalle pd = (PedidoDetalle)dtgDetallePedido.CurrentRow.DataBoundItem;

            pedido.detalle_pedidos.Remove(pd);
            ActualizarDataGrid();
        }
예제 #8
0
 public List <PedidoDetalle> ObtenerDetalleClavesPedido(Pedido Datos)
 {
     try
     {
         List <PedidoDetalle> Lista = new List <PedidoDetalle>();
         PedidoDetalle        Item;
         SqlDataReader        Dr = SqlHelper.ExecuteReader(Datos.Conexion, "Produccion.spCSLDB_get_PedidoDetalleClavesXID", Datos.IDPedido);
         while (Dr.Read())
         {
             Item = new PedidoDetalle();
             Item.IDPedidoDetalle = Dr.GetString(Dr.GetOrdinal("IDPedidoDetalle"));
             Item.IDProducto      = Dr.GetString(Dr.GetOrdinal("IDProducto"));
             Item.ClaveProducto   = Dr.GetString(Dr.GetOrdinal("Clave"));
             Item.NombreProducto  = Dr.GetString(Dr.GetOrdinal("NombreProducto"));
             Item.Cantidad        = Dr.GetDecimal(Dr.GetOrdinal("Cantidad"));
             Item.IDEmpleado      = Dr.GetString(Dr.GetOrdinal("IDEmpleado"));
             Item.NombreEmpleado  = Dr.GetString(Dr.GetOrdinal("NombreEmpleado"));
             Item.IDAsignacion    = Dr.GetString(Dr.GetOrdinal("IDAsignacion"));
             Item.ClaveProduccion = Dr.GetString(Dr.GetOrdinal("ClaveProduccion"));
             Lista.Add(Item);
         }
         return(Lista);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #9
0
 public List <PedidoDetalle> ObtenerDetallePedidoSurtido(Pedido Datos)
 {
     try
     {
         List <PedidoDetalle> Lista = new List <PedidoDetalle>();
         PedidoDetalle        Item;
         SqlDataReader        Dr = SqlHelper.ExecuteReader(Datos.Conexion, "Produccion.spCSLDB_get_PedidoSurtidoDetalleXID", Datos.IDPedido, Datos.IDPedidoSurtido);
         while (Dr.Read())
         {
             Item = new PedidoDetalle();
             Item.IDPedidoSurtidoDetalle = Dr.GetString(Dr.GetOrdinal("IDPedidoSurtidoDetalle"));
             Item.IDPedidoDetalle        = Dr.GetString(Dr.GetOrdinal("IDPedidoDetalle"));
             Item.IDProducto             = Dr.GetString(Dr.GetOrdinal("IDProducto"));
             Item.ClaveProducto          = Dr.GetString(Dr.GetOrdinal("Clave"));
             Item.NombreProducto         = Dr.GetString(Dr.GetOrdinal("NombreProducto"));
             Item.Cantidad          = Dr.GetDecimal(Dr.GetOrdinal("Cantidad"));
             Item.CantidadSurtida   = Dr.GetDecimal(Dr.GetOrdinal("CantidadSurtida"));
             Item.CantidadRecibida  = Dr.GetDecimal(Dr.GetOrdinal("CantidadRecibida"));
             Item.CantidadPendiente = Item.CantidadSurtida - Item.CantidadRecibida;
             Item.CantidadARecibir  = Item.CantidadPendiente;
             Lista.Add(Item);
         }
         return(Lista);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public PedidoDetalle Obtener(int id)
        {
            PedidoDetalle pedidoDetalle = null;
            string        sql           = "select * from pedidosDetalle where id = @id";

            using (MySqlConnection conexion = new MySqlConnection(CadenaConexion))
            {
                conexion.Open();
                using (MySqlCommand comando = new MySqlCommand(sql, conexion))
                {
                    comando.Parameters.Add(new MySqlParameter("@id", id));
                    using (MySqlDataReader resultado = comando.ExecuteReader())
                    {
                        if (resultado.Read())
                        {
                            pedidoDetalle = new PedidoDetalle()
                            {
                                Id         = (int)resultado["id"],
                                PedidoId   = (int)resultado["pedidoId"],
                                ProductoId = (int)resultado["productoId"],
                                Cantidad   = (int)resultado["cantidad"],
                                Precio     = (decimal)resultado["precio"],
                                Total      = (decimal)resultado["total"]
                            };
                        }
                    }
                }
            }
            return(pedidoDetalle);
        }
예제 #11
0
 public List <PedidoDetalle> ObtenerDetallePedidoClaves(Pedido Datos)
 {
     try
     {
         List <PedidoDetalle> Lista = new List <PedidoDetalle>();
         PedidoDetalle        Item;
         SqlDataReader        Dr = SqlHelper.ExecuteReader(Datos.Conexion, "spCSLDB_get_PedidoDetalleXID", Datos.IDPedido);
         while (Dr.Read())
         {
             Item = new PedidoDetalle();
             Item.IDPedidoDetalle   = Dr.GetString(Dr.GetOrdinal("IDPedidoDetalle"));
             Item.IDProducto        = Dr.GetString(Dr.GetOrdinal("IDProducto"));
             Item.ClaveProducto     = Dr.GetString(Dr.GetOrdinal("Clave"));
             Item.NombreProducto    = Dr.GetString(Dr.GetOrdinal("NombreProducto"));
             Item.Cantidad          = Dr.GetDecimal(Dr.GetOrdinal("Cantidad"));
             Item.IDEmpleado        = Dr.GetString(Dr.GetOrdinal("IDEmpleado"));
             Item.NombreEmpleado    = Dr.GetString(Dr.GetOrdinal("NombreEmpleado"));
             Item.IDAsignacion      = Dr.GetString(Dr.GetOrdinal("IDAsignacion"));
             Item.ClaveProduccion   = Dr.GetString(Dr.GetOrdinal("ClaveProduccion"));
             Item.Completo          = Dr.GetBoolean(Dr.GetOrdinal("Completo"));
             Item.CantidadSurtida   = Dr.GetDecimal(Dr.GetOrdinal("CantidadSurtida"));
             Item.CantidadPendiente = Item.Cantidad - Item.CantidadSurtida;
             Item.CantidadASurtir   = Item.CantidadPendiente;
             Lista.Add(Item);
         }
         Dr.Close();
         return(Lista);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 private PedidoDetalle ObtenerDatos()
 {
     try
     {
         PedidoDetalle Datos = new PedidoDetalle();
         Datos.IDProducto     = Actual.IDProducto;
         Datos.NombreProducto = Actual.NombreProducto;
         Datos.ClaveProducto  = Actual.Clave;
         Usuario DatosEmpleado = this.ObtenerEmpleado();
         if (!string.IsNullOrEmpty(DatosEmpleado.IDEmpleado))
         {
             Datos.IDEmpleado     = DatosEmpleado.IDEmpleado;
             Datos.NombreEmpleado = DatosEmpleado.Nombre;
         }
         else
         {
             Datos.IDEmpleado     = string.Empty;
             Datos.NombreEmpleado = "SUCURSAL";
         }
         Datos.IDAsignacion    = string.Empty;
         Datos.ClaveProduccion = string.Empty;
         Datos.Cantidad        = this.ObtenerCantidad();
         return(Datos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #13
0
 public PedidoDetalleResponse DeletePedidoDetalleById(PedidoDetalle pedidoDetalle)
 {
     ML.Response.PedidoDetalleResponse response = new ML.Response.PedidoDetalleResponse();
     response = BL.PedidoDetalle.DeletePedidoDetalle(pedidoDetalle);
     return(new PedidoDetalleResponse {
         Code = response.Code, Message = response.Message, ListaPedidoDetalle = response.ListaPedidoDetalle
     });
 }
예제 #14
0
 public PedidoDetalleResponse AddPedidoDetalle(int PedidoId, Producto producto, PedidoDetalle pedidoDetalle)
 {
     ML.Response.PedidoDetalleResponse response = new ML.Response.PedidoDetalleResponse();
     response = BL.PedidoDetalle.AddPedidoDetalle(PedidoId, producto, pedidoDetalle);
     return(new PedidoDetalleResponse {
         Code = response.Code, Message = response.Message, ListaPedidoDetalle = response.ListaPedidoDetalle
     });
 }
예제 #15
0
        public ActionResult DeleteConfirmed(int id)
        {
            PedidoDetalle pedidoDetalle = db.PedidoDetalle.Find(id);

            db.PedidoDetalle.Remove(pedidoDetalle);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #16
0
        public PedidoDetalle_ convert(PedidoDetalle m)
        {
            JsonSerializer serializer = new JsonSerializer();
            JObject        json       = JObject.Parse(JsonConvert.SerializeObject(m));
            PedidoDetalle_ p          = (PedidoDetalle_)serializer.Deserialize(new JTokenReader(json), typeof(PedidoDetalle));

            return(p);
        }
        public IActionResult Put([FromBody] PedidoDetalle PedidoDetalle)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            PedidoDetalle.Usuario_Modificacion = JwtProvider.ObtenerUsuario(Request.Headers["Authorization"]);
            return(Ok(_logic.Update(PedidoDetalle)));
        }
예제 #18
0
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            PedidoDetalle pd = new PedidoDetalle();

            pd.cantidad = Convert.ToDouble(txtCantidad.Text);
            pd.producto = (Producto)cmbProducto.SelectedItem;
            pedido.detalle_pedidos.Add(pd);
            ActualizarDataGrid();

            Limpiar();
        }
예제 #19
0
 public ActionResult Edit([Bind(Include = "PedidoDetalleId,PedidoId,ProductoId,Cantidad,PrecioUnitario")] PedidoDetalle pedidoDetalle)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoDetalle).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PedidoId   = new SelectList(db.Pedidoes, "PedidoId", "PedidoId", pedidoDetalle.PedidoId);
     ViewBag.ProductoId = new SelectList(db.Productoes, "ProductoId", "ProductoDescripcion", pedidoDetalle.ProductoId);
     return(View(pedidoDetalle));
 }
예제 #20
0
 public ActionResult Edit([Bind(Include = "PedidoDetalleId,PedidoId,IdEntrete,Cantidad,PrecioVenta,PrecioAlquiler")] PedidoDetalle pedidoDetalle)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoDetalle).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdEntrete = new SelectList(db.Entretenimientoes, "IdEntrete", "Nombre", pedidoDetalle.IdEntrete);
     ViewBag.PedidoId  = new SelectList(db.Pedidoes, "PedidoId", "PedidoId", pedidoDetalle.PedidoId);
     return(View(pedidoDetalle));
 }
 public frmPedidoDetalleClaves(PedidoDetalle _Datos)
 {
     try
     {
         InitializeComponent();
         Datos = _Datos;
     }
     catch (Exception ex)
     {
         LogError.AddExcFileTxt(ex, "frmPedidoDetalle ~ frmPedidoDetalle(Pedido Datos)");
     }
 }
예제 #22
0
 public void AgregarProducto(PedidoDetalle Datos)
 {
     try
     {
         Pedido_Datos PedDat = new Pedido_Datos();
         PedDat.AgregarProducto(Datos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #23
0
        public ActionResult Crear(int id)
        {
            var nuevoPedidoDetalle = new PedidoDetalle();

            nuevoPedidoDetalle.PedidoId = id;

            var productos = _productosBL.ObtenerProductosActivos();

            ViewBag.ProductoId = new SelectList(productos, "Id", "Descripcion");

            return(View(nuevoPedidoDetalle));
        }
예제 #24
0
 public List <PedidoDetalle> ObtenerComboClavesProduccion(PedidoDetalle Datos)
 {
     try
     {
         Pedido_Datos PD = new Pedido_Datos();
         return(PD.ObtenerComboClavesProduccion(Datos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #25
0
 public ActionResult Edit([Bind(Include = "idPedido,idArticulo,secuencia,precioUnitario,cantidad,subTotal,porcentajeDescuento,impuesto,total")] PedidoDetalle pedidoDetalle)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoDetalle).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idArticulo = new SelectList(db.Articulo, "idArticulo", "descipcion", pedidoDetalle.idArticulo);
     ViewBag.idPedido   = new SelectList(db.Pedido, "idPedido", "idCliente", pedidoDetalle.idPedido);
     return(View(pedidoDetalle));
 }
예제 #26
0
 public ActionResult Edit([Bind(Include = "PedidoDetalle1,PedidoId,ProductoId,Cantidad")] PedidoDetalle pedidoDetalle)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pedidoDetalle).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PedidoId   = new SelectList(db.Pedido, "PedidoId", "Estado", pedidoDetalle.PedidoId);
     ViewBag.ProductoId = new SelectList(db.Producto, "ProductoId", "NombreProducto", pedidoDetalle.ProductoId);
     return(View(pedidoDetalle));
 }
예제 #27
0
 public void AgregarMaterialCapacitacion(PedidoDetalle Datos)
 {
     try
     {
         Pedido_Datos PD = new Pedido_Datos();
         PD.AgregarMaterialCapacitacion(Datos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #28
0
 public void ReemplazoClaveProducto(PedidoDetalle Datos)
 {
     try
     {
         Pedido_Datos PD = new Pedido_Datos();
         PD.ReemplazoClaveProductoSuc(Datos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #29
0
 public List <Producto> ObtenerProductosXIDServicio(Servicio Datos)
 {
     try
     {
         object[]        Parametros     = { Datos.IDServicio, Datos.IDEmpleado, Datos.IDSucursal };
         List <Producto> ListaProductos = new List <Producto>();
         Producto        Item;
         SqlDataReader   Dr = SqlHelper.ExecuteReader(Datos.Conexion, "spCSLDB_get_ProductosXIDServicioEmpleado", Parametros);
         while (Dr.Read())
         {
             Item                = new Producto();
             Item.IDServicio     = Dr.GetString(Dr.GetOrdinal("IDServicio"));
             Item.IDProducto     = Dr.GetString(Dr.GetOrdinal("IDProducto"));
             Item.NombreProducto = Dr.GetString(Dr.GetOrdinal("Producto"));
             string Aux = Dr.GetString(Dr.GetOrdinal("TablaClaves"));
             if (string.IsNullOrEmpty(Aux))
             {
                 Item.ListaClaves = new List <PedidoDetalle>();
             }
             else
             {
                 Aux = string.Format("<Main>{0}</Main>", Aux);
                 XmlDocument xm = new XmlDocument();
                 xm.LoadXml(Aux);
                 XmlNodeList          Registros   = xm.GetElementsByTagName("Main");
                 XmlNodeList          Lista       = ((XmlElement)Registros[0]).GetElementsByTagName("D");
                 List <PedidoDetalle> ListaClaves = new List <PedidoDetalle>();
                 PedidoDetalle        ItemPD;
                 foreach (XmlElement Nodo in Lista)
                 {
                     ItemPD = new PedidoDetalle();
                     XmlNodeList IDAsignacion    = Nodo.GetElementsByTagName("IDAsignacion");
                     XmlNodeList ClaveProduccion = Nodo.GetElementsByTagName("ClaveProduccion");
                     XmlNodeList EsEmpleado      = Nodo.GetElementsByTagName("EsEmpleado");
                     ItemPD.IDAsignacion    = IDAsignacion[0].InnerText;
                     ItemPD.ClaveProduccion = ClaveProduccion[0].InnerText;
                     bool EsEmpl = true;
                     bool.TryParse(EsEmpleado[0].InnerText, out EsEmpl);
                     ItemPD.EsEmpleado = EsEmpl;
                     ListaClaves.Add(ItemPD);
                 }
                 Item.ListaClaves = ListaClaves;
             }
             ListaProductos.Add(Item);
         }
         return(ListaProductos);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #30
0
 public ActionResult DeleteConfirmed(int id)
 {
     try{
         PedidoDetalle pedidoDetalle = db.PedidoDetalle.Find(id);
         db.PedidoDetalle.Remove(pedidoDetalle);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch (Exception ex)
     {
         return(View("Error", new HandleErrorInfo(ex, "PedidoDetalle", "Create")));
     }
 }
        public ActionResult EditPedidoDetalle(PedidoDetalle PedidoDetalle)
        {
            var tipoPedidoDetalle = "";
            var TipoDetalle = ""; 
            IEnumerable<object> Pedidos = null;
            int PedidoDetalle_ID = PedidoDetalle.Pedido_ID;
            try
            {
                if (ModelState.IsValid)
                {
                    _PedidoDetalleService.Update(PedidoDetalle);
                    switch (PedidoDetalle.Tipo)
                {
                    case 1:
                        tipoPedidoDetalle = "_ServiciosList";
                        TipoDetalle = TipoPedidoDetalle.Servicio.ToString().ToLower()+"s";
                        Pedidos = _PedidoDetalleService.GetPedidosDetalleServicio(PedidoDetalle_ID).ToList();
                        break;
                    case 2:
                        tipoPedidoDetalle = "_ProductosList";
                        TipoDetalle = TipoPedidoDetalle.Producto.ToString().ToLower() + "s";
                        Pedidos = _PedidoDetalleService.GetPedidosDetalleProducto(PedidoDetalle_ID).ToList();
                        break;
                    case 3:
                        tipoPedidoDetalle = "_HerramientaList";
                        TipoDetalle = TipoPedidoDetalle.Herramienta.ToString().ToLower() + "s";
                        Pedidos = _PedidoDetalleService.GetPedidosDetalleHerramienta(PedidoDetalle_ID).ToList();
                        break;
                    case 4:
                        tipoPedidoDetalle = "_ActividadesList";
                        TipoDetalle = TipoPedidoDetalle.Actividad.ToString().ToLower() + "es";
                        Pedidos = _PedidoDetalleService.GetPedidosDetalleActividad(PedidoDetalle_ID).ToList();
                        break;
                    case 5:
                        tipoPedidoDetalle = "_AdjuntoList";
                        Pedidos = _AdjuntoService.GetAll().ToList();/*db.Adjuntos
                        .Where(s => s.PedidoID == PedidoDetalle.PedidoID)
                        .ToList();*/
                        break;
                    
                }

                    return Json(new { status = status_success, msg = String.Format("Detalle actualizado <b>exitosamente</b>"), tipo = TipoDetalle,  contenido = RenderPartialViewToString(tipoPedidoDetalle, Pedidos) });
                }
                else
                {
                    throw new Exception("Detalle: El Pedido detalle posee valores incorrectos"); 
                }

            }
            catch (Exception e)
            {
                return Json(new { status = status_error, msg = String.Format(mensaje_error, "Actualizar el detalle") + System.Environment.NewLine + e.Message });
            }
        }
        public ActionResult VerPedidoDetalle(int PedidoDetalleID, int TipoPedidoDetalle) {

            PedidoDetalle pedido = new PedidoDetalle();
            
            try{
                pedido = _PedidoDetalleService.GetById(PedidoDetalleID);
                return PartialView("_VerPedidoDetalle", pedido);

            }
            catch (Exception e)
            {
                return PartialView("_Error", e.Message);
            }
            return PartialView();
        }
예제 #33
0
        private void btnProcesar_Click(object sender, EventArgs e)
        {
            try
            {
                this.tabPedidos.SelectedIndex = 0; ;
                if (this.dgvProveedores.CurrentRow == null)
                {
                    Util.MensajeError("Debe seleccionar a un Proveedor.", GlobalClass.NombreApp);
                    return;
                }

                // Se valida que haya al menos una parte seleccionada
                bool bError = true;
                foreach (DataGridViewRow oFila in this.dgvSugeridos.Rows)
                {
                    if (Util.Logico(oFila.Cells["sug_Sel"].Value))
                    {
                        bError = false;
                        break;
                    }
                }
                // if (this.dgvSugeridos.DataSource == null)
                if (bError)
                {
                    Util.MensajeError("Debe seleccionar al menos un número de parte.", GlobalClass.NombreApp);
                    return;
                }

                var proveedorId = Util.Entero(this.dgvProveedores.CurrentRow.Cells["pro_ProveedorID"].Value);
                var proveedor = Datos.GetEntity<Proveedor>(p => p.ProveedorID == proveedorId);
                if (proveedor != null)
                {
                    var msj = string.Format("{0} {1} {2}", "¿Está seguro de que la información del Pedido es correcta?", "Para el Proveedor:", proveedor.NombreProveedor);
                    var res = Util.MensajePregunta(msj, GlobalClass.NombreApp);
                    if (res == DialogResult.No)
                        return;
                }
                else
                {
                    Util.MensajeError("Proveedor Inválido.", GlobalClass.NombreApp);
                    return;
                }

                this.Cursor = Cursors.WaitCursor;
                SplashScreen.Show(new Splash());
                this.btnProcesar.Enabled = false;

                var pedido = new Pedido()
                {
                    ProveedorID = proveedorId,
                    ImporteTotal = Util.Decimal(this.txtImporteTotal.Text.SoloNumeric()),
                    PedidoEstatusID = 2
                };

                Datos.Guardar<Pedido>(pedido);

                if (pedido.PedidoID <= 0)
                {
                    this.Cursor = Cursors.Default;
                    SplashScreen.Close();
                    Util.MensajeError("Ocurrio un error al guardar el Pedido.", GlobalClass.NombreApp);
                    this.btnProcesar.Enabled = true;
                    return;
                }

                // DataTable dt = new DataTable();
                // BindingSource bs = (BindingSource)this.dgvSugeridos.DataSource;

                //Validación, debe estar seleccionado y el pedido debe ser mayor a 0
                /* if (!string.IsNullOrEmpty(bs.Filter))
                {
                    DataView dv = (DataView)bs.List;
                    dt = dv.ToTable().AsEnumerable().Where(x => x.Field<Boolean>("Sel") && x.Field<decimal>("Pedido") > 0).CopyToDataTable();
                } */

                foreach (DataGridViewRow oFila in this.dgvSugeridos.Rows)
                {
                    if (!oFila.Visible) continue;

                    int iParteID = Util.Entero(oFila.Cells["sug_ParteID"].Value);

                    // Se verifica si no se debe pedir por existencia en equivalentes
                    var oNoPedir = Datos.GetEntity<ParteCaracteristicaTemporal>(c => c.ParteID == iParteID
                        && c.Caracteristica == Cat.CaracTempPartes.NoPedidosPorEquivalentes);
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "NP")
                    {
                        if (oNoPedir == null)
                        {
                            oNoPedir = new ParteCaracteristicaTemporal()
                            {
                                ParteID = iParteID,
                                Caracteristica = Cat.CaracTempPartes.NoPedidosPorEquivalentes
                            };
                            Datos.Guardar<ParteCaracteristicaTemporal>(oNoPedir);
                        }
                    }
                    else
                    {
                        if (oNoPedir != null)
                            Datos.Eliminar<ParteCaracteristicaTemporal>(oNoPedir);
                    }

                    // Se verifica si está marcado o tiene pedidos para procesar, si no, se salta
                    if (!Util.Logico(oFila.Cells["sug_Sel"].Value) || Util.Decimal(oFila.Cells["sug_Pedido"].Value) <= 0)
                        continue;

                    if (Util.Entero(oFila.Cells["sug_ProveedorID"].Value) != proveedorId)
                    {
                        this.Cursor = Cursors.Default;
                        SplashScreen.Close();
                        var msj = string.Format("{0} {1} {2} {3}", "El número de Parte:", Util.Cadena(oFila.Cells["sug_NumeroDeParte"].Value)
                            , "No está asignado al Proveedor:", proveedor.NombreProveedor);
                        Util.MensajeError(msj, GlobalClass.NombreApp);
                        this.btnProcesar.Enabled = true;
                        return;
                    }

                    //
                    var detallePedido = new PedidoDetalle()
                    {
                        PedidoID = pedido.PedidoID,
                        ParteID = iParteID,
                        CantidadPedido = Util.Decimal(oFila.Cells["sug_Pedido"].Value),
                        CostosUnitario = Util.Decimal(oFila.Cells["sug_CostoConDescuento"].Value),
                        PedidoEstatusID = 2
                    };
                    Datos.Guardar<PedidoDetalle>(detallePedido);

                    // Se marca como pedido si es 9500
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "9500")
                    {
                        var o9500 = Datos.GetListOf<Cotizacion9500Detalle>(c => c.ParteID == iParteID && !c.Pedido && c.Estatus);
                        foreach (var oReg in o9500)
                        {
                            oReg.Pedido = true;
                            Datos.Guardar<Cotizacion9500Detalle>(oReg);
                        }
                    }

                    // Se marca como pedido en reporte de faltante, si aplica
                    if (Util.Cadena(oFila.Cells["sug_Caracteristica"].Value) == "RF")
                    {
                        var oFaltantes = Datos.GetListOf<ReporteDeFaltante>(c => c.ParteID == iParteID && !c.Pedido && c.Estatus);
                        foreach (var oReg in oFaltantes)
                        {
                            oReg.Pedido = true;
                            Datos.Guardar<ReporteDeFaltante>(oReg);
                        }
                    }
                }

                var ped = Datos.GetListOf<PedidosView>(p => p.PedidoID.Equals(pedido.PedidoID));
                var detalle = Datos.GetListOf<PedidosDetalleView>(p => p.PedidoID.Equals(pedido.PedidoID));

                IEnumerable<PedidosView> pedidoE = ped;
                IEnumerable<PedidosDetalleView> detalleE = detalle;

                using (FastReport.Report report = new FastReport.Report())
                {
                    report.Load(string.Format("{0}{1}", GlobalClass.ConfiguracionGlobal.pathReportes, "ReportePedidos.frx"));
                    report.RegisterData(pedidoE, "Pedido");
                    report.GetDataSource("Pedido").Enabled = true;
                    report.RegisterData(detalleE, "DetallePedido");
                    report.GetDataSource("DetallePedido").Enabled = true;
                    report.Show(true);
                }

                this.Cursor = Cursors.Default;
                this.LimpiarFormularioDos();
                SplashScreen.Close();
                this.btnProcesar.Enabled = true;
                new Notificacion("Pedido Guardado exitosamente", 2 * 1000).Mostrar(Principal.Instance);
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                SplashScreen.Close();
                this.btnProcesar.Enabled = true;
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
        public ActionResult AgregarHerramienta(PedidoDetalle PedidoDetalle, FormCollection form) {
            var msg_error = String.Format(mensaje_error,"agregar una herramienta");
            
            try {
                if(ModelState.IsValid){
                    String ListaHerramientas = form["Herramienta_ID"];
                    int EstadoDetalle_ID = _EstadoDetalleService.GetIdEstadoInicial();
                    int TipoPedidoDetalle_Id = TipoPedidoDetalle.Herramienta.GetHashCode();


                    PedidoDetalle.Tipo = TipoPedidoDetalle_Id;
                    PedidoDetalle.EstadoDetalle_ID = EstadoDetalle_ID;
                    _PedidoDetalleService.Create(PedidoDetalle);

                    var Pedidos = _PedidoDetalleService.GetPedidosDetalleHerramienta(PedidoDetalle.Pedido_ID).ToList();
                    return Json(new { msg = "Detalle creado <b>exitosamente</b>", status = status_success, contenido = RenderPartialViewToString("_HerramientaList", Pedidos) });
                }

                return Json(new {status = status_error, msg = msg_error});
            }
            catch (Exception e) {
                return Json(new { status = status_error, msg = msg_error + System.Environment.NewLine + e.Message });
            }
        
        }
        public ActionResult AgregarActividad(PedidoDetalle PedidoDetalle)
        {

            try
            {
               

                if (ModelState.IsValid)
                {
                    int EstadoDetalle_ID = _EstadoDetalleService.GetIdEstadoInicial();
                    int TipoPedidoDetalle_Id = TipoPedidoDetalle.Actividad.GetHashCode();


                    PedidoDetalle.Tipo = TipoPedidoDetalle_Id;
                    PedidoDetalle.EstadoDetalle_ID = EstadoDetalle_ID;
                    _PedidoDetalleService.Create(PedidoDetalle);

                    var Pedidos = _PedidoDetalleService.GetPedidosDetalleActividad(PedidoDetalle.Pedido_ID);
                    return Json(new { msg = "Detalle creado <b>exitosamente</b>", status = status_success, contenido = RenderPartialViewToString("_ActividadesList", Pedidos) });
                }
                else
                {
                    return Json(new { msg = "Ocurrio un error, por favor intente de nuevo", status = status_error });
                }

            }
            catch (Exception e)
            {
                return Json(new { msg = "Ocurrio un error, por favor intente de nuevo" + System.Environment.NewLine + e.Message, status = false });
            }

        }