public fa_CambioProducto_Info GetInfo(int IdEmpresa, int IdSucursal, int IdBodega, decimal IdCambio) { try { fa_CambioProducto_Info info; using (Entities_facturacion db = new Entities_facturacion()) { var Entity = db.fa_CambioProducto.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdBodega == IdBodega && q.IdCambio == IdCambio).FirstOrDefault(); if (Entity == null) { return(null); } info = new fa_CambioProducto_Info { IdEmpresa = Entity.IdEmpresa, IdSucursal = Entity.IdSucursal, IdBodega = Entity.IdBodega, IdCambio = Entity.IdCambio, Fecha = Entity.Fecha, Observacion = Entity.Observacion, Estado = Entity.Estado, IdMovi_inven_tipo = Entity.IdMovi_inven_tipo, IdNumMovi = Entity.IdNumMovi, }; } return(info); } catch (Exception) { throw; } }
private bool Validar(fa_CambioProducto_Info i_validar, ref string msg) { if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.Fecha, cl_enumeradores.eModulo.FAC, i_validar.IdSucursal, ref mensaje)) { return(false); } if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.Fecha, cl_enumeradores.eModulo.INV, i_validar.IdSucursal, ref mensaje)) { return(false); } i_validar.LstDet = List_det.get_list(i_validar.IdTransaccionSession); if (i_validar.LstDet.Count == 0) { mensaje = "Debe ingresar un detalle a devolver"; return(false); } if (i_validar.LstDet.Where(q => q.IdProductoCambio == q.IdProductoFact).Count() > 0) { mensaje = "Los productos de cambio deben ser distintos a los productos facturados en el detalle"; return(false); } return(true); }
public ActionResult Anular(int IdEmpresa = 0, int IdSucursal = 0, int IdBodega = 0, decimal IdCambio = 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 fa_CambioProducto_Info model = bus_CambioProducto.GetInfo(IdEmpresa, IdSucursal, IdBodega, IdCambio); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.IdUsuario = SessionFixed.IdUsuario; model.FechaIni = DateTime.Now.Date.AddMonths(-1); model.FechaFin = DateTime.Now.Date; CargarCombosAccion(model.IdEmpresa, model.IdSucursal); model.LstDet = bus_CambioProductoDet.GetList(model.IdEmpresa, model.IdSucursal, model.IdBodega, model.IdCambio); List_det.set_list(model.LstDet, model.IdTransaccionSession); #region Validacion Periodo ViewBag.MostrarBoton = true; if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.FAC, model.IdSucursal, ref mensaje)) { ViewBag.mensaje = mensaje; ViewBag.MostrarBoton = false; } #endregion return(View(model)); }
public ActionResult Nuevo(int IdEmpresa = 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 fa_CambioProducto_Info model = new fa_CambioProducto_Info { IdEmpresa = IdEmpresa, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession), IdSucursal = string.IsNullOrEmpty(SessionFixed.IdSucursal) ? 0 : Convert.ToInt32(SessionFixed.IdSucursal), IdUsuario = SessionFixed.IdUsuario, Fecha = DateTime.Now, FechaIni = DateTime.Now.Date.AddMonths(-1), FechaFin = DateTime.Now.Date }; CargarCombosAccion(model.IdEmpresa, model.IdSucursal); return(View(model)); }
public ActionResult Modificar(int IdEmpresa = 0, int IdSucursal = 0, int IdBodega = 0, decimal IdCambio = 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 fa_CambioProducto_Info model = bus_CambioProducto.GetInfo(IdEmpresa, IdSucursal, IdBodega, IdCambio); if (model == null) { return(RedirectToAction("Index")); } model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.IdUsuario = SessionFixed.IdUsuario; model.FechaIni = DateTime.Now.Date.AddMonths(-1); model.FechaFin = DateTime.Now.Date; CargarCombosAccion(model.IdEmpresa, model.IdSucursal); model.LstDet = bus_CambioProductoDet.GetList(model.IdEmpresa, model.IdSucursal, model.IdBodega, model.IdCambio); List_det.set_list(model.LstDet, model.IdTransaccionSession); return(View(model)); }
public ActionResult Nuevo(int IdEmpresa = 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 #region Permisos seg_Menu_x_Empresa_x_Usuario_Info info = bus_permisos.get_list_menu_accion(Convert.ToInt32(SessionFixed.IdEmpresa), SessionFixed.IdUsuario, "Facturacion", "CambioProducto", "Index"); if (!info.Nuevo) { return(RedirectToAction("Index")); } #endregion fa_CambioProducto_Info model = new fa_CambioProducto_Info { IdEmpresa = IdEmpresa, IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession), IdSucursal = string.IsNullOrEmpty(SessionFixed.IdSucursal) ? 0 : Convert.ToInt32(SessionFixed.IdSucursal), IdUsuario = SessionFixed.IdUsuario, Fecha = DateTime.Now, FechaIni = DateTime.Now.Date.AddMonths(-1), FechaFin = DateTime.Now.Date }; CargarCombosAccion(model.IdEmpresa, model.IdSucursal); return(View(model)); }
public ActionResult Anular(fa_CambioProducto_Info model) { if (!bus_CambioProducto.AnularDB(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); CargarCombosAccion(model.IdEmpresa, model.IdSucursal); return(View(model)); } return(RedirectToAction("Index")); }
public bool AnularDB(fa_CambioProducto_Info info) { try { return(odata.AnularDB(info)); } catch (Exception) { throw; } }
public ActionResult Consultar(int IdEmpresa = 0, int IdSucursal = 0, int IdBodega = 0, decimal IdCambio = 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 fa_CambioProducto_Info model = bus_CambioProducto.GetInfo(IdEmpresa, IdSucursal, IdBodega, IdCambio); 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, "Facturacion", "CambioProducto", "Index"); if (model.Estado == false && (model.IdNumMovi != null || model.IdNumMovi != 0)) { info.Modificar = false; info.Anular = false; } ViewBag.Nuevo = info.Nuevo; ViewBag.Modificar = info.Modificar; ViewBag.Anular = info.Anular; #endregion model.IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSession); model.IdUsuario = SessionFixed.IdUsuario; model.FechaIni = DateTime.Now.Date.AddMonths(-1); model.FechaFin = DateTime.Now.Date; CargarCombosAccion(model.IdEmpresa, model.IdSucursal); model.LstDet = bus_CambioProductoDet.GetList(model.IdEmpresa, model.IdSucursal, model.IdBodega, model.IdCambio); List_det.set_list(model.LstDet, model.IdTransaccionSession); if (Exito) { ViewBag.MensajeSuccess = MensajeSuccess; } #region Validacion Periodo ViewBag.MostrarBoton = true; if (!bus_periodo.ValidarFechaTransaccion(IdEmpresa, model.Fecha, cl_enumeradores.eModulo.FAC, model.IdSucursal, ref mensaje)) { ViewBag.mensaje = mensaje; ViewBag.MostrarBoton = false; } #endregion return(View(model)); }
public ActionResult Nuevo(fa_CambioProducto_Info model) { if (!Validar(model, ref mensaje)) { CargarCombosAccion(model.IdEmpresa, model.IdSucursal); ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } if (!bus_CambioProducto.GuardarDB(model)) { SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); CargarCombosAccion(model.IdEmpresa, model.IdSucursal); return(View(model)); } return(RedirectToAction("Modificar", new { IdEmpresa = model.IdEmpresa, IdSucursal = model.IdSucursal, IdBodega = model.IdBodega, IdCambio = model.IdCambio, Exito = true })); }
public ActionResult Modificar(fa_CambioProducto_Info model) { if (!Validar(model, ref mensaje)) { CargarCombosAccion(model.IdEmpresa, model.IdSucursal); ViewBag.mensaje = mensaje; SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } if (!bus_CambioProducto.ModificarDB(model)) { CargarCombosAccion(model.IdEmpresa, model.IdSucursal); SessionFixed.IdTransaccionSessionActual = model.IdTransaccionSession.ToString(); return(View(model)); } return(RedirectToAction("Index")); }
public bool AnularDB(fa_CambioProducto_Info info) { try { using (Entities_facturacion db = new Entities_facturacion()) { var Entity = db.fa_CambioProducto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdCambio == info.IdCambio).FirstOrDefault(); if (Entity == null) { return(false); } Entity.Estado = false; Entity.IdUsuarioUltAnu = info.IdUsuario; Entity.FechaUltAnu = DateTime.Now; db.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool GuardarDB(fa_CambioProducto_Info info) { try { Entities_facturacion db = new Entities_facturacion(); #region Cambio producto db.fa_CambioProducto.Add(new fa_CambioProducto { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdCambio = info.IdCambio = GetId(info.IdEmpresa, info.IdSucursal, info.IdBodega), Fecha = info.Fecha.Date, Observacion = info.Observacion, Estado = true, IdUsuario = info.IdUsuario, FechaTransac = DateTime.Now }); int secuencia = 1; foreach (var item in info.LstDet) { db.fa_CambioProductoDet.Add(new fa_CambioProductoDet { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdCambio = info.IdCambio, Secuencia = secuencia++, IdCbteVta = item.IdCbteVta, SecuenciaFact = item.SecuenciaFact, IdProductoFact = item.IdProductoFact, IdProductoCambio = item.IdProductoCambio, CantidadCambio = item.CantidadCambio, CantidadFact = item.CantidadFact }); } db.SaveChanges(); #endregion #region Egreso y devoluciones if (info.GenerarDevolucion) { 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); } info.IdMovi_inven_tipo = parametro.IdMovi_inven_tipo_Cambio; var movi = GenerarMoviInven(info); if (movi == null) { return(true); } if (info.IdNumMovi == null && odata_i.guardarDB(movi, "-")) { info.IdNumMovi = movi.IdNumMovi; var Entity = db.fa_CambioProducto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdCambio == info.IdCambio).FirstOrDefault(); if (Entity == null) { return(true); } Entity.IdMovi_inven_tipo = info.IdMovi_inven_tipo; Entity.IdNumMovi = info.IdNumMovi; db.SaveChanges(); GenerarDevoluciones(info); } else { GenerarDevoluciones(info); } } db.Dispose(); #endregion return(true); } catch (Exception) { throw; } }
private void GenerarDevoluciones(fa_CambioProducto_Info info) { Entities_facturacion dbf = new Entities_facturacion(); try { var ListaDetalleCambio = dbf.vwfa_CambioProductoDet_FacturasConMovimiento.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdBodega == info.IdBodega && q.IdCambio == info.IdCambio).ToList(); if (ListaDetalleCambio.Where(q => q.IdNumMovi_eg == null).Count() > 0) { return; } in_devolucion_inven_Data odata_d = new in_devolucion_inven_Data(); var DevolucionesAgrupadas = ListaDetalleCambio.GroupBy(q => new { q.IdEmpresa_eg, q.IdSucursal_eg, q.IdMovi_inven_tipo_eg, q.IdNumMovi_eg }).ToList(); foreach (var item in DevolucionesAgrupadas) { var ListaPorMovimiento = ListaDetalleCambio.Where(q => q.IdEmpresa_eg == item.Key.IdEmpresa_eg && q.IdSucursal_eg == item.Key.IdSucursal_eg && q.IdMovi_inven_tipo_eg == item.Key.IdMovi_inven_tipo_eg && q.IdNumMovi_eg == item.Key.IdNumMovi_eg).ToList(); in_devolucion_inven_Info devolucion = new in_devolucion_inven_Info { IdEmpresa = info.IdEmpresa, IdEmpresa_inv = (int)item.Key.IdEmpresa_eg, IdSucursal_inv = (int)item.Key.IdSucursal_eg, IdMovi_inven_tipo_inv = (int)item.Key.IdMovi_inven_tipo_eg, IdNumMovi_inv = (decimal)item.Key.IdNumMovi_eg, cod_Dev_Inven = "CAMB#" + info.IdCambio, Estado = true, dev_signo = "+", Fecha = info.Fecha.Date, IdUsuario = info.IdUsuario, observacion = "CAMB#" + info.IdCambio + " " + info.Observacion, lst_det = new List <in_devolucion_inven_det_Info>() }; foreach (var Det in ListaPorMovimiento) { devolucion.lst_det.Add(new in_devolucion_inven_det_Info { IdEmpresa = info.IdEmpresa, inv_IdEmpresa = (int)Det.IdEmpresa_eg, inv_IdSucursal = (int)Det.IdSucursal_eg, inv_IdMovi_inven_tipo = (int)Det.IdMovi_inven_tipo_eg, inv_IdNumMovi = (int)Det.IdNumMovi_eg, inv_Secuencia = (int)Det.Secuencia_eg, IdProducto = (decimal)Det.IdProducto, IdBodega = (int)Det.IdBodega_eg, cant_devuelta = Det.CantidadCambio, IdUnidadMedida = Det.IdUnidadMedida_sinConversion, mv_costo = Det.Costo }); } if (odata_d.guardarDB(devolucion)) { ListaDetalleCambio.ForEach(q => dbf.fa_CambioProductoDet_x_in_devolucion_inven.Add(new fa_CambioProductoDet_x_in_devolucion_inven { IdEmpresa_ca = info.IdEmpresa, IdSucursal_ca = info.IdSucursal, IdBodega_ca = info.IdBodega, IdCambio = info.IdCambio, Secuencia_ca = q.Secuencia_ca, IdEmpresa_de = devolucion.IdEmpresa, IdDev_Inven = devolucion.IdDev_Inven })); dbf.SaveChanges(); } } dbf.Dispose(); } catch (Exception) { dbf.Dispose(); throw; } }
private in_Ing_Egr_Inven_Info GenerarMoviInven(fa_CambioProducto_Info info) { 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 == "EGR").FirstOrDefault(); if (motivo == null) { return(null); } in_Ing_Egr_Inven_Info movi = new in_Ing_Egr_Inven_Info { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdBodega = info.IdBodega, IdMovi_inven_tipo = (int)info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi == null ? 0 : Convert.ToDecimal(info.IdNumMovi), cm_fecha = info.Fecha.Date, cm_observacion = "CAMB#" + info.IdCambio + " " + info.Observacion, Estado = "A", CodMoviInven = "CAMB#" + info.IdCambio, signo = "-", IdUsuario = info.IdUsuario, IdUsuarioUltModi = info.IdUsuario, IdMotivo_Inv = motivo.IdMotivo_Inv, lst_in_Ing_Egr_Inven_det = new List <in_Ing_Egr_Inven_det_Info>() }; int secuencia = 1; foreach (var item in info.LstDet) { var producto = db.in_Producto.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdProducto == item.IdProductoCambio).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 = (int)movi.IdBodega, IdMovi_inven_tipo = movi.IdMovi_inven_tipo, IdNumMovi = 0, Secuencia = secuencia++, IdProducto = item.IdProductoCambio, dm_cantidad = item.CantidadCambio * -1, dm_cantidad_sinConversion = item.CantidadCambio * -1, mv_costo = 0, mv_costo_sinConversion = 0, IdUnidadMedida = producto.IdUnidadMedida_Consumo, IdUnidadMedida_sinConversion = producto.IdUnidadMedida_Consumo, }); } return(movi); } } catch (Exception) { throw; } }