コード例 #1
0
        public ActionResult Modificar(int IdEmpresa = 0, int IdConsignacion = 0)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            in_Consignacion_Info model = bus_in_Consignacion.GetInfo(IdEmpresa, IdConsignacion);

            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            model.IdTransaccionSession      = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_producto_consignacion = bus_consignacion_det.GetList(model.IdEmpresa, Convert.ToInt32(model.IdConsignacion));
            in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);

            CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #2
0
        public ActionResult Anular(int IdEmpresa = 0, decimal IdConsignacion = 0)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            in_Consignacion_Info model = bus_in_Consignacion.GetInfo(IdEmpresa, Convert.ToInt32(IdConsignacion));
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }
            model.IdTransaccionSession      = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_producto_consignacion = bus_consignacion_det.GetList(model.IdEmpresa, Convert.ToInt32(model.IdConsignacion));
            in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);

            CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.INV, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion
            return(View(model));
        }
コード例 #3
0
        public ActionResult Nuevo()
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion
            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Inventario", "Consignacion", "Index");
            if (!info.Nuevo)
            {
                return(RedirectToAction("Index"));
            }
            #endregion
            in_Consignacion_Info model = new in_Consignacion_Info {
                IdEmpresa            = string.IsNullOrEmpty(SessionFixed.IdEmpresa) ? 0 : Convert.ToInt32(SessionFixed.IdEmpresa),
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual),
                IdSucursal           = string.IsNullOrEmpty(SessionFixed.IdSucursal) ? 0 : Convert.ToInt32(SessionFixed.IdSucursal),
                Fecha = DateTime.Now.Date
            };

            in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);
            CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #4
0
        private bool Validar(in_Consignacion_Info i_validar, ref string msg)
        {
            i_validar.lst_producto_consignacion = in_ConsignacionDet_List.get_list(i_validar.IdTransaccionSession);

            if (i_validar.lst_producto_consignacion.Count == 0)
            {
                mensaje = "Debe ingresar un detalle en la consignación";
                return(false);
            }

            if (i_validar.IdSucursal == 0)
            {
                mensaje = "Debe ingresar una sucursal";
                return(false);
            }

            if (i_validar.IdBodega == 0)
            {
                mensaje = "Debe ingresar una bodega";
                return(false);
            }

            if (i_validar.IdProveedor == 0)
            {
                mensaje = "Debe ingresar un proveedor";
                return(false);
            }
            return(true);
        }
コード例 #5
0
 public in_Consignacion_Info GetInfo(int IdEmpresa, decimal IdConsignacion, int IdSucursal, int IdBodega)
 {
     try
     {
         in_Consignacion_Info info = new in_Consignacion_Info();
         using (Entities_inventario Context = new Entities_inventario())
         {
             in_Consignacion Entity = Context.in_Consignacion.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdConsignacion == IdConsignacion && q.IdSucursal == IdSucursal && q.IdBodega == IdBodega);
             if (Entity == null)
             {
                 return(null);
             }
             info = new in_Consignacion_Info
             {
                 IdEmpresa         = Entity.IdEmpresa,
                 IdConsignacion    = Entity.IdConsignacion,
                 IdSucursal        = Entity.IdSucursal,
                 IdBodega          = Entity.IdBodega,
                 Fecha             = Entity.Fecha,
                 IdProveedor       = Entity.IdProveedor,
                 Observacion       = Entity.Observacion,
                 Estado            = Entity.Estado,
                 MotivoAnulacion   = Entity.MotivoAnulacion,
                 IdMovi_inven_tipo = Entity.IdMovi_inven_tipo,
                 IdNumMovi         = Entity.IdNumMovi
             };
         }
         return(info);
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #6
0
 public bool AnularBD(in_Consignacion_Info info)
 {
     try
     {
         return(odata.AnularBD(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #7
0
 public bool ModificarBD(in_Consignacion_Info info)
 {
     try
     {
         return(odata.ModificarDB(info));
     }
     catch (Exception)
     {
         throw;
     }
 }
コード例 #8
0
        public ActionResult Consultar(int IdEmpresa = 0, int IdConsignacion = 0, bool Exito = false)
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            in_Consignacion_Info model = bus_in_Consignacion.GetInfo(IdEmpresa, IdConsignacion);
            if (model == null)
            {
                return(RedirectToAction("Index"));
            }

            #region Permisos
            seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Inventario", "Consignacion", "Index");
            if (model.Estado == false)
            {
                info.Modificar = false;
                info.Anular    = false;
            }
            model.Nuevo     = (info.Nuevo == true ? 1 : 0);
            model.Modificar = (info.Modificar == true ? 1 : 0);
            model.Anular    = (info.Anular == true ? 1 : 0);
            #endregion

            model.IdTransaccionSession      = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
            model.lst_producto_consignacion = bus_consignacion_det.GetList(model.IdEmpresa, Convert.ToInt32(model.IdConsignacion));
            in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);

            if (Exito)
            {
                ViewBag.MensajeSuccess = MensajeSuccess;
            }
            #region Validacion Periodo
            ViewBag.MostrarBoton = true;
            if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.INV, model.IdSucursal, ref mensaje))
            {
                ViewBag.mensaje      = mensaje;
                ViewBag.MostrarBoton = false;
            }
            #endregion

            CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #9
0
        public ActionResult Anular(in_Consignacion_Info model)
        {
            model.IdUsuarioUltAnu = SessionFixed.IdUsuario.ToString();
            if (!bus_in_Consignacion.AnularBD(model))
            {
                ViewBag.mensaje = "No se ha podido anular el registro";

                model.IdTransaccionSession      = Convert.ToDecimal(SessionFixed.IdTransaccionSession);
                model.lst_producto_consignacion = bus_consignacion_det.GetList(model.IdEmpresa, Convert.ToInt32(model.IdConsignacion));
                in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);

                CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
                return(View(model));
            }
            ;
            return(RedirectToAction("Index"));
        }
コード例 #10
0
        public ActionResult Modificar(in_Consignacion_Info model)
        {
            model.lst_producto_consignacion = in_ConsignacionDet_List.get_list(model.IdTransaccionSession);
            model.IdUsuarioUltMod           = Session["IdUsuario"].ToString();

            if (!Validar(model, ref mensaje))
            {
                CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
                ViewBag.mensaje = mensaje;
                return(View(model));
            }

            if (!bus_in_Consignacion.ModificarBD(model))
            {
                CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
コード例 #11
0
        public bool AnularBD(in_Consignacion_Info info)
        {
            try
            {
                #region Variables
                in_Ing_Egr_Inven_Data data_inv = new in_Ing_Egr_Inven_Data();
                #endregion

                using (Entities_inventario db = new Entities_inventario())
                {
                    in_Consignacion Entity = db.in_Consignacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConsignacion == info.IdConsignacion && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega).FirstOrDefault();

                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.MotivoAnulacion = info.MotivoAnulacion;
                    Entity.Estado          = false;
                    Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    Entity.Fecha_UltAnu    = DateTime.Now;

                    #region Ingreso egreso inventario
                    var parametro = db.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Consignacion;

                    if (!data_inv.anularDB(new in_Ing_Egr_Inven_Info {
                        IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, IdusuarioUltAnu = info.IdUsuarioUltAnu, MotivoAnulacion = info.MotivoAnulacion
                    }))
                    {
                    }
                    #endregion

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #12
0
        public ActionResult Nuevo(in_Consignacion_Info model)
        {
            model.IdUsuario = SessionFixed.IdUsuario;
            model.IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa);
            model.lst_producto_consignacion = in_ConsignacionDet_List.get_list(model.IdTransaccionSession);

            if (!Validar(model, ref mensaje))
            {
                CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
                ViewBag.mensaje = mensaje;
                return(View(model));
            }

            if (!bus_in_Consignacion.GuardarBD(model))
            {
                ViewBag.mensaje = "No se ha podido guardar el registro";
                CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
                return(View(model));
            }

            return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdConsignacion = model.IdConsignacion, Exito = true }));
        }
コード例 #13
0
        public ActionResult Nuevo()
        {
            #region Validar Session
            if (string.IsNullOrEmpty(SessionFixed.IdTransaccionSession))
            {
                return(RedirectToAction("Login", new { Area = "", Controller = "Account" }));
            }
            SessionFixed.IdTransaccionSession       = (Convert.ToDecimal(SessionFixed.IdTransaccionSession) + 1).ToString();
            SessionFixed.IdTransaccionSessionActual = SessionFixed.IdTransaccionSession;
            #endregion

            in_Consignacion_Info model = new in_Consignacion_Info {
                IdEmpresa            = string.IsNullOrEmpty(SessionFixed.IdEmpresa) ? 0 : Convert.ToInt32(SessionFixed.IdEmpresa),
                IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual),
                IdSucursal           = string.IsNullOrEmpty(SessionFixed.IdSucursal) ? 0 : Convert.ToInt32(SessionFixed.IdSucursal),
                Fecha = DateTime.Now.Date
            };

            in_ConsignacionDet_List.set_list(model.lst_producto_consignacion, model.IdTransaccionSession);
            CargarCombosAccion(model.IdEmpresa, model.IdSucursal);
            return(View(model));
        }
コード例 #14
0
        public ActionResult CmbProveedor_Consignacion()
        {
            in_Consignacion_Info model = new in_Consignacion_Info();

            return(PartialView("_CmbProveedor_Consignacion", model));
        }
コード例 #15
0
        public bool GuardarBD(in_Consignacion_Info info)
        {
            try
            {
                in_Ing_Egr_Inven_Data data_inv       = new in_Ing_Egr_Inven_Data();
                cp_proveedor_Data     data_proveedor = new cp_proveedor_Data();

                using (Entities_inventario db = new Entities_inventario())
                {
                    var parametro = db.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Consignacion;
                    cp_proveedor_Info dato_proveedor = data_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                    var nomContacto = dato_proveedor.info_persona.pe_nombreCompleto;

                    in_Ing_Egr_Inven_Info movimiento = armar_movi_inven(info, nomContacto);
                    if (data_inv.guardarDB(movimiento, "+"))
                    {
                        #region Consignacion
                        db.in_Consignacion.Add(new in_Consignacion
                        {
                            IdEmpresa         = info.IdEmpresa,
                            IdConsignacion    = info.IdConsignacion = GetId(info.IdEmpresa),
                            IdSucursal        = info.IdSucursal,
                            IdBodega          = info.IdBodega,
                            Fecha             = info.Fecha,
                            IdProveedor       = info.IdProveedor,
                            Observacion       = info.Observacion,
                            Estado            = true,
                            IdUsuario         = info.IdUsuario,
                            Fecha_Transac     = DateTime.Now,
                            IdMovi_inven_tipo = movimiento.IdMovi_inven_tipo,
                            IdNumMovi         = movimiento.IdNumMovi,
                        });
                        #endregion

                        #region Consignacion detalle
                        if (info.lst_producto_consignacion != null)
                        {
                            int Secuencia = 1;
                            foreach (var item in info.lst_producto_consignacion)
                            {
                                db.in_ConsignacionDet.Add(new in_ConsignacionDet
                                {
                                    IdEmpresa      = info.IdEmpresa,
                                    IdConsignacion = info.IdConsignacion,
                                    Secuencia      = Secuencia++,
                                    IdProducto     = item.IdProducto,
                                    IdUnidadMedida = item.IdUnidadMedida,
                                    Cantidad       = item.Cantidad,
                                    Costo          = item.Costo,
                                    Observacion    = item.Observacion
                                });
                            }
                        }
                        #endregion
                    }

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #16
0
        public bool ModificarDB(in_Consignacion_Info info)
        {
            try
            {
                in_Ing_Egr_Inven_Data data_inv       = new in_Ing_Egr_Inven_Data();
                cp_proveedor_Data     data_proveedor = new cp_proveedor_Data();

                using (Entities_inventario db = new Entities_inventario())
                {
                    in_Consignacion Entity = db.in_Consignacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConsignacion == info.IdConsignacion).FirstOrDefault();

                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdProveedor     = info.IdProveedor;
                    Entity.IdBodega        = info.IdBodega;
                    Entity.Fecha           = info.Fecha;
                    Entity.Observacion     = info.Observacion;
                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;

                    var lst_det_consignacion = db.in_ConsignacionDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdConsignacion == info.IdConsignacion).ToList();
                    db.in_ConsignacionDet.RemoveRange(lst_det_consignacion);

                    if (info.lst_producto_consignacion != null)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.lst_producto_consignacion)
                        {
                            db.in_ConsignacionDet.Add(new in_ConsignacionDet
                            {
                                IdEmpresa      = info.IdEmpresa,
                                IdConsignacion = info.IdConsignacion,
                                Secuencia      = Secuencia++,
                                IdProducto     = item.IdProducto,
                                IdUnidadMedida = item.IdUnidadMedida,
                                Cantidad       = item.Cantidad,
                                Costo          = item.Costo,
                                Observacion    = item.Observacion
                            });
                        }
                    }

                    #region Ingreso egreso inventario
                    var parametro = db.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                    info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Consignacion;
                    cp_proveedor_Info dato_proveedor = data_proveedor.get_info(info.IdEmpresa, info.IdProveedor);
                    var nomContacto = dato_proveedor.info_persona.pe_nombreCompleto;

                    in_Ing_Egr_Inven_Info movimiento = armar_movi_inven(info, nomContacto);

                    if (movimiento != null)
                    {
                        movimiento.IdNumMovi = info.IdNumMovi;
                        data_inv.modificarDB(movimiento);
                    }
                    #endregion

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #17
0
        public in_Ing_Egr_Inven_Info armar_movi_inven(in_Consignacion_Info info, string nomContacto)
        {
            try
            {
                using (Entities_inventario Context = new Entities_inventario())
                {
                    var motivo = Context.in_Motivo_Inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.Tipo_Ing_Egr == "ING" && q.Genera_Movi_Inven == "S").FirstOrDefault();
                    if (motivo == null)
                    {
                        return(null);
                    }

                    var tipo = Context.in_movi_inven_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdMovi_inven_tipo == info.IdMovi_inven_tipo).FirstOrDefault();
                    if (tipo == null)
                    {
                        return(null);
                    }

                    int secuencia = 1;

                    in_Ing_Egr_Inven_Info movimiento = new in_Ing_Egr_Inven_Info
                    {
                        IdEmpresa         = info.IdEmpresa,
                        IdSucursal        = info.IdSucursal,
                        IdMovi_inven_tipo = info.IdMovi_inven_tipo,
                        IdNumMovi         = info.IdNumMovi,
                        IdBodega          = info.IdBodega,
                        signo             = "+",
                        CodMoviInven      = "CONS# " + info.IdConsignacion,
                        cm_observacion    = "CONS# " + info.IdConsignacion + " " + "PROVEEDOR: " + nomContacto + " " + info.Observacion,
                        cm_fecha          = info.Fecha,
                        IdUsuario         = info.IdUsuario,
                        IdMotivo_Inv      = motivo.IdMotivo_Inv,
                        Fecha_Transac     = info.Fecha_Transac,
                        IdUsuarioUltModi  = info.IdUsuarioUltMod,
                        Fecha_UltMod      = info.Fecha_UltMod,
                        IdusuarioUltAnu   = info.IdUsuarioUltAnu,
                        Fecha_UltAnu      = info.Fecha_UltAnu,


                        lst_in_Ing_Egr_Inven_det = new List <in_Ing_Egr_Inven_det_Info>()
                    };
                    foreach (var item in info.lst_producto_consignacion)
                    {
                        movimiento.lst_in_Ing_Egr_Inven_det.Add(new in_Ing_Egr_Inven_det_Info
                        {
                            IdEmpresa                    = movimiento.IdEmpresa,
                            IdSucursal                   = movimiento.IdSucursal,
                            IdMovi_inven_tipo            = movimiento.IdMovi_inven_tipo,
                            IdNumMovi                    = 0,
                            Secuencia                    = secuencia++,
                            IdBodega                     = (int)movimiento.IdBodega,
                            IdProducto                   = item.IdProducto,
                            dm_cantidad                  = item.Cantidad,
                            dm_cantidad_sinConversion    = item.Cantidad,
                            mv_costo                     = item.Costo,
                            mv_costo_sinConversion       = item.Costo,
                            IdUnidadMedida               = item.IdUnidadMedida,
                            IdUnidadMedida_sinConversion = item.IdUnidadMedida
                        });
                    }

                    if (movimiento.lst_in_Ing_Egr_Inven_det.Count == 0)
                    {
                        return(null);
                    }
                    return(movimiento);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }