private bool validar(in_Ing_Egr_Inven_Info i_validar, ref string msg) { if (i_validar.lst_in_Ing_Egr_Inven_det.Count == 0) { mensaje = "Debe ingresar al menos un producto"; return(false); } if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cm_fecha, cl_enumeradores.eModulo.INV, i_validar.IdSucursal, ref msg)) { return(false); } #region ValidarExisteProductoxBodega var param = bus_in_param.get_info(i_validar.IdEmpresa); mensaje = bus_producto_x_bodega.ValidarProductoPorBodega(new List <in_producto_x_tb_bodega_Info>(i_validar.lst_in_Ing_Egr_Inven_det.Select(q => new in_producto_x_tb_bodega_Info { IdEmpresa = i_validar.IdEmpresa, IdSucursal = i_validar.IdSucursal, IdBodega = i_validar.IdBodega ?? 0, IdProducto = q.IdProducto, pr_descripcion = q.pr_descripcion }).ToList()), (param.ValidarCtaCbleTransacciones ?? false)); if (!string.IsNullOrEmpty(mensaje)) { return(false); } #endregion return(true); }
private bool validar(in_Ing_Egr_Inven_Info i_validar, ref string msg) { if (i_validar.lst_in_Ing_Egr_Inven_det.Count == 0) { mensaje = "Debe ingresar al menos un producto"; return(false); } else { com_ordencompra_local_det_List Lista_OC = new com_ordencompra_local_det_List(); List <com_ordencompra_local_Info> lista_detalle_oc = Lista_OC.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); if (i_validar.IdNumMovi == 0) { foreach (var item in i_validar.lst_in_Ing_Egr_Inven_det) { com_ordencompra_local_Info info_oc = lista_detalle_oc.Where(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdOrdenCompra == item.IdOrdenCompra && q.IdProducto == item.IdProducto).FirstOrDefault(); if (item.dm_cantidad_sinConversion > info_oc.Saldo) { mensaje = "La cantidad ingresada supera al saldo pendiente del producto: " + item.pr_descripcion; return(false); } } var Cant_OC = i_validar.lst_in_Ing_Egr_Inven_det.GroupBy(q => q.IdOrdenCompra).Count(); if (Cant_OC > 1) { mensaje = "Debe ingresar items de una sola orden de compra"; return(false); } #region ValidarExisteProductoxBodega var param = bus_in_param.get_info(i_validar.IdEmpresa); mensaje = bus_producto_x_bodega.ValidarProductoPorBodega(new List <in_producto_x_tb_bodega_Info>(i_validar.lst_in_Ing_Egr_Inven_det.Select(q => new in_producto_x_tb_bodega_Info { IdEmpresa = i_validar.IdEmpresa, IdSucursal = i_validar.IdSucursal, IdBodega = i_validar.IdBodega ?? 0, IdProducto = q.IdProducto, pr_descripcion = q.pr_descripcion }).ToList()), (param.ValidarCtaCbleTransacciones ?? false)); if (!string.IsNullOrEmpty(mensaje)) { return(false); } #endregion } } if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cm_fecha, cl_enumeradores.eModulo.INV, i_validar.IdSucursal, ref msg)) { return(false); } return(true); }
private bool validar(in_Ing_Egr_Inven_Info i_validar, ref string msg) { if (i_validar.lst_in_Ing_Egr_Inven_det.Count == 0) { mensaje = "Debe ingresar al menos un producto"; return(false); } if (!bus_periodo.ValidarFechaTransaccion(i_validar.IdEmpresa, i_validar.cm_fecha, cl_enumeradores.eModulo.INV, i_validar.IdSucursal, ref msg)) { return(false); } #region ValidarExisteProductoxBodega var param = bus_in_param.get_info(i_validar.IdEmpresa); mensaje = bus_producto_x_bodega.ValidarProductoPorBodega(new List <in_producto_x_tb_bodega_Info>(i_validar.lst_in_Ing_Egr_Inven_det.Select(q => new in_producto_x_tb_bodega_Info { IdEmpresa = i_validar.IdEmpresa, IdSucursal = i_validar.IdSucursal, IdBodega = i_validar.IdBodega ?? 0, IdProducto = q.IdProducto, pr_descripcion = q.pr_descripcion }).ToList()), (param.ValidarCtaCbleTransacciones ?? false)); if (!string.IsNullOrEmpty(mensaje)) { return(false); } #endregion #region ValidarStock var lst_validar = i_validar.lst_in_Ing_Egr_Inven_det.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.IdSucursal, IdBodega = i_validar.IdBodega ?? 0, 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.dm_cantidad_sinConversion), CantidadAnterior = q.Sum(v => v.CantidadAnterior), }).ToList(); if (!bus_producto.validar_stock(lst_validar, ref msg)) { return(false); } #endregion #region ValidarCentroCosto int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); ct_parametro_Bus bus_parametro = new ct_parametro_Bus(); var info_ct_parametro = bus_parametro.get_info(IdEmpresa); if (i_validar.lst_in_Ing_Egr_Inven_det.Count > 0) { if (info_ct_parametro.EsCentroCostoObligatorio == true) { foreach (var item in i_validar.lst_in_Ing_Egr_Inven_det) { if (item.IdCentroCosto == "" || item.IdCentroCosto == null) { mensaje = "Debe seleccionar el centro de costo para los items del detalle"; return(false); } } } } #endregion return(true); }