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 pro_Fabricacion_Info model = new pro_Fabricacion_Info { IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa), Fecha = DateTime.Now, FechaIni = DateTime.Now.Date.AddMonths(-1), FechaFin = DateTime.Now.Date, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession), LstDet = new List <pro_FabricacionDet_Info>(), egr_IdSucursal = Convert.ToInt32(SessionFixed.IdSucursal), ing_IdSucursal = Convert.ToInt32(SessionFixed.IdSucursal), }; List_det.set_list(model.LstDet, model.IdTransaccionSession); List_Fac.set_list_fac(model.LstDet, model.IdTransaccionSession); cargar_combos(model.IdEmpresa); return(View(model)); }
private bool Validar(pro_Fabricacion_Info i_validar, ref string msg) { #region ValidarStock var lst_validar = i_validar.LstDet.GroupBy(q => new { q.IdProducto, q.pr_descripcion, q.tp_ManejaInven, q.se_distribuye }).Select(q => new in_Producto_Stock_Info { IdEmpresa = i_validar.IdEmpresa, IdSucursal = i_validar.egr_IdSucursal, IdBodega = i_validar.egr_IdBodega, IdProducto = q.Key.IdProducto, pr_descripcion = q.Key.pr_descripcion, tp_manejaInven = q.Key.tp_ManejaInven, SeDestribuye = q.Key.se_distribuye, Cantidad = q.Sum(v => v.Cantidad), CantidadAnterior = q.Sum(v => v.CantidadAnterior), }).ToList(); if (!bus_producto.validar_stock(lst_validar, ref msg)) { return(false); } #endregion return(true); }
private in_Ing_Egr_Inven_Info GenerarMoviInven(pro_Fabricacion_Info info, string Signo) { try { using (Entities_inventario db = new Entities_inventario()) { var motivo = db.in_Motivo_Inven.Where(q => q.IdEmpresa == info.IdEmpresa && q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (Signo == "+" ? "ING":"EGR")).FirstOrDefault(); if (motivo == null) { return(null); } in_Ing_Egr_Inven_Info movi = new in_Ing_Egr_Inven_Info { IdEmpresa = info.IdEmpresa, cm_fecha = info.Fecha.Date, Estado = "A", signo = Signo, IdUsuario = info.IdUsuarioCreacion, IdUsuarioUltModi = info.IdUsuarioModificacion, IdMovi_inven_tipo = Convert.ToInt32(Signo == "+" ? info.ing_IdMovi_inven_tipo : info.egr_IdMovi_inven_tipo), IdNumMovi = Convert.ToInt32(Signo == "+" ? info.ing_IdNumMovi : info.egr_IdNumMovi), lst_in_Ing_Egr_Inven_det = new List <in_Ing_Egr_Inven_det_Info>(), IdSucursal = Signo == "+" ? info.ing_IdSucursal : info.egr_IdSucursal, IdBodega = Signo == "+" ? info.ing_IdBodega : info.ing_IdBodega }; int secuencia = 1; foreach (var item in info.LstDet) { var producto = db.in_Producto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdProducto == item.IdProducto).FirstOrDefault(); if (producto == null) { return(null); } movi.lst_in_Ing_Egr_Inven_det.Add(new in_Ing_Egr_Inven_det_Info { IdEmpresa = movi.IdEmpresa, IdSucursal = movi.IdSucursal, IdBodega = Convert.ToInt32(movi.IdBodega), IdMovi_inven_tipo = Convert.ToInt32(Signo == "+" ? info.ing_IdMovi_inven_tipo : info.egr_IdMovi_inven_tipo), IdNumMovi = Convert.ToInt32(Signo == "+" ? info.ing_IdNumMovi : info.egr_IdNumMovi), Secuencia = secuencia++, IdProducto = item.IdProducto, dm_cantidad = item.Cantidad * (Signo == "-" ? -1 : 1), dm_cantidad_sinConversion = item.Cantidad * (Signo == "-" ? -1 : 1), mv_costo = 0, mv_costo_sinConversion = 0, IdUnidadMedida = producto.IdUnidadMedida_Consumo, IdUnidadMedida_sinConversion = producto.IdUnidadMedida_Consumo, }); } return(movi); } } catch (Exception) { throw; } }
public ActionResult Anular(pro_Fabricacion_Info model) { model.IdUsuarioAnulacion = Session["IdUsuario"].ToString(); if (!bus_fabricacion.AnularDB(model)) { cargar_combos(model.IdEmpresa); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Anular(pro_Fabricacion_Info model) { model.IdUsuarioAnulacion = SessionFixed.IdUsuario; if (!bus_fabricacion.AnularDB(model)) { cargar_combos(model); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Modificar(pro_Fabricacion_Info model) { model.IdUsuarioModificacion = Session["IdUsuario"].ToString(); model.LstDet = List_det.get_list(model.IdTransaccionSession); if (!bus_fabricacion.ModificarDB(model)) { cargar_combos(model.IdEmpresa); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Nuevo(pro_Fabricacion_Info model) { model.IdUsuarioCreacion = SessionFixed.IdUsuario; model.LstDet = List_det.get_list(model.IdTransaccionSession); if (!bus_fabricacion.GuardarDB(model)) { cargar_combos(model); return(View(model)); } return(RedirectToAction("Index")); }
public bool AnularDB(pro_Fabricacion_Info info) { try { return(odata.AnularDB(info)); } catch (Exception) { throw; } }
private void cargar_combos(pro_Fabricacion_Info model) { var lst_sucursal = bus_sucursal.GetList(model.IdEmpresa, SessionFixed.IdUsuario, false); ViewBag.lst_sucursal = lst_sucursal; var lst_bodega_ing = bus_bodega.get_list(model.IdEmpresa, model.ing_IdSucursal, false); ViewBag.lst_bodega_ing = lst_bodega_ing; var lst_bodega_egr = bus_bodega.get_list(model.IdEmpresa, model.egr_IdSucursal, false); ViewBag.lst_bodega_egr = lst_bodega_egr; }
public ActionResult Anular(int IdEmpresa = 0, decimal IdFabricacion = 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 pro_Fabricacion_Info model = bus_fabricacion.GetInfo(IdEmpresa, IdFabricacion); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.LstDet = bus_fabricacion_det.GetList(IdEmpresa, IdFabricacion); List_det.set_list(model.LstDet, model.IdTransaccionSession); cargar_combos(IdEmpresa); return(View(model)); }
public pro_Fabricacion_Info GetInfo(int IdEmpresa, decimal IdFabricacion) { try { pro_Fabricacion_Info info = new pro_Fabricacion_Info(); using (Entities_produccion Context = new Entities_produccion()) { pro_Fabricacion Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == IdEmpresa && q.IdFabricacion == IdFabricacion).FirstOrDefault(); if (Entity == null) { return(null); } info = new pro_Fabricacion_Info { IdEmpresa = Entity.IdEmpresa, egr_IdSucursal = Entity.egr_IdSucursal, ing_IdSucursal = Entity.ing_IdSucursal, Estado = Entity.Estado, egr_IdBodega = Entity.egr_IdBodega, egr_IdMovi_inven_tipo = Entity.egr_IdMovi_inven_tipo, egr_IdNumMovi = Entity.egr_IdNumMovi, Fecha = Entity.Fecha, IdFabricacion = Entity.IdFabricacion, ing_IdBodega = Entity.ing_IdBodega, ing_IdMovi_inven_tipo = Entity.ing_IdMovi_inven_tipo, Observacion = Entity.Observacion, ing_IdNumMovi = Entity.ing_IdNumMovi }; } return(info); } catch (Exception) { throw; } }
public bool AnularDB(pro_Fabricacion_Info info) { try { using (Entities_produccion Context = new Entities_produccion()) { pro_Fabricacion Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault(); if (Entity == null) { return(false); } Entity.Estado = false; Entity.IdUsuarioAnulacion = info.IdUsuarioAnulacion; Entity.FechaAnulacion = DateTime.Now; Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool ModificarDB(pro_Fabricacion_Info info) { try { using (Entities_produccion Context = new Entities_produccion()) { #region Cab&Det pro_Fabricacion Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault(); if (Entity == null) { return(false); } Entity.egr_IdSucursal = info.egr_IdSucursal; Entity.ing_IdSucursal = info.ing_IdSucursal; Entity.egr_IdBodega = info.egr_IdBodega; Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo; Entity.egr_IdNumMovi = info.egr_IdNumMovi; Entity.Fecha = info.Fecha; Entity.ing_IdBodega = info.ing_IdBodega; Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo; Entity.Observacion = info.Observacion; Entity.ing_IdNumMovi = info.ing_IdNumMovi; Entity.IdUsuarioModificacion = info.IdUsuarioModificacion; Entity.FechaModificacion = DateTime.Now; var detalle = Context.pro_FabricacionDet.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion); Context.pro_FabricacionDet.RemoveRange(detalle); if (info.LstDet.Count() > 0) { foreach (var item in info.LstDet) { Context.pro_FabricacionDet.Add(new pro_FabricacionDet { IdEmpresa = info.IdEmpresa, IdFabricacion = info.IdFabricacion, IdProducto = item.IdProducto, Cantidad = item.Cantidad, Costo = item.Costo, RealizaMovimiento = item.RealizaMovimiento, Secuencia = item.Secuencia, Signo = item.Signo, IdUnidadMedida = item.IdUnidadMedida }); } } #endregion #region MOV if (info.Cerrar) { Entities_inventario dbi = new Entities_inventario(); in_Ing_Egr_Inven_Data odata_i = new in_Ing_Egr_Inven_Data(); var parametro = dbi.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (parametro == null) { return(true); } #region EGR info.egr_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_egr; var movi_egr = GenerarMoviInven(info, "-"); if (movi_egr == null) { return(true); } if (info.egr_IdNumMovi == null && odata_i.guardarDB(movi_egr, "-")) { info.egr_IdNumMovi = movi_egr.IdNumMovi; Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo; Entity.egr_IdNumMovi = info.egr_IdNumMovi; Context.SaveChanges(); } #endregion #region ING info.ing_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_ing; var movi_ing = GenerarMoviInven(info, "+"); if (movi_ing == null) { return(true); } if (info.ing_IdNumMovi == null && odata_i.guardarDB(movi_ing, "+")) { info.ing_IdNumMovi = movi_ing.IdNumMovi; Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo; Entity.ing_IdNumMovi = info.ing_IdNumMovi; Context.SaveChanges(); } #endregion } #endregion Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool GuardarDB(pro_Fabricacion_Info info) { try { using (Entities_produccion Context = new Entities_produccion()) { #region FAB #region CAB Context.pro_Fabricacion.Add(new pro_Fabricacion { IdEmpresa = info.IdEmpresa, IdFabricacion = info.IdFabricacion = GetId(info.IdEmpresa), egr_IdSucursal = info.egr_IdSucursal, ing_IdSucursal = info.ing_IdSucursal, Estado = true, egr_IdBodega = info.egr_IdBodega, egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo, egr_IdNumMovi = info.egr_IdNumMovi, Fecha = info.Fecha, ing_IdBodega = info.ing_IdBodega, ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo, Observacion = info.Observacion, ing_IdNumMovi = info.ing_IdNumMovi, IdUsuarioCreacion = info.IdUsuarioCreacion, FechaCreacion = DateTime.Now }); #endregion #region DET if (info.LstDet.Count() > 0) { foreach (var item in info.LstDet) { Context.pro_FabricacionDet.Add(new pro_FabricacionDet { IdEmpresa = info.IdEmpresa, IdFabricacion = info.IdFabricacion, IdProducto = item.IdProducto, Cantidad = item.Cantidad, Costo = item.Costo, RealizaMovimiento = item.RealizaMovimiento, Secuencia = item.Secuencia, Signo = item.Signo, IdUnidadMedida = item.IdUnidadMedida }); } } Context.SaveChanges(); #endregion #endregion #region MOV if (info.Cerrar) { Entities_inventario dbi = new Entities_inventario(); in_Ing_Egr_Inven_Data odata_i = new in_Ing_Egr_Inven_Data(); var parametro = dbi.in_parametro.Where(q => q.IdEmpresa == info.IdEmpresa).FirstOrDefault(); if (parametro == null) { return(true); } #region EGR info.egr_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_egr; var movi_egr = GenerarMoviInven(info, "-", parametro.IdMotivo_Inv_elaboracion_egr); if (movi_egr == null) { return(true); } if (info.egr_IdNumMovi == null && odata_i.guardarDB(movi_egr, "-")) { info.egr_IdNumMovi = movi_egr.IdNumMovi; var Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault(); if (Entity == null) { return(true); } Entity.egr_IdMovi_inven_tipo = info.egr_IdMovi_inven_tipo; Entity.egr_IdNumMovi = info.egr_IdNumMovi; Context.SaveChanges(); } #endregion #region ING info.ing_IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_elaboracion_ing; var movi_ing = GenerarMoviInven(info, "+", parametro.IdMotivo_Inv_elaboracion_ing); if (movi_ing == null) { return(true); } if (info.ing_IdNumMovi == null && odata_i.guardarDB(movi_ing, "+")) { info.ing_IdNumMovi = movi_ing.IdNumMovi; var Entity = Context.pro_Fabricacion.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdFabricacion == info.IdFabricacion).FirstOrDefault(); if (Entity == null) { return(true); } Entity.ing_IdMovi_inven_tipo = info.ing_IdMovi_inven_tipo; Entity.ing_IdNumMovi = info.ing_IdNumMovi; Context.SaveChanges(); } #endregion } Context.Dispose(); #endregion } return(true); } catch (Exception) { throw; } }