public JsonResult EditingAddNew(string IDs = "", decimal IdTransaccionSession = 0, int IdEmpresa = 0) { string ObservacionOC = string.Empty; if (IDs != "") { int IdEmpresaSesion = Convert.ToInt32(SessionFixed.IdEmpresa); var lst_x_ingresar = ListaPorIngresar.get_list(IdTransaccionSession); string[] array = IDs.Split(','); foreach (var item in array) { int IdEmpresaOC = Convert.ToInt32(item.Substring(0, 3)); int IdSucursalOC = Convert.ToInt32(item.Substring(3, 3)); int IdOrdenCompra = Convert.ToInt32(item.Substring(6, 6)); int Secuencia = Convert.ToInt32(item.Substring(12, 6)); var info_det = lst_x_ingresar.Where(q => q.IdEmpresa == IdEmpresaOC && q.IdSucursal == IdSucursalOC && q.IdOrdenCompra == IdOrdenCompra && q.Secuencia == Secuencia).FirstOrDefault(); in_Ing_Egr_Inven_det_Info info_det_inv; com_parametro_Info info_param_oc = bus_com_param.get_info(IdEmpresaSesion); if (info_det != null) { info_det_inv = new in_Ing_Egr_Inven_det_Info { IdEmpresa = info_det.IdEmpresa, IdSucursal = info_det.IdSucursal, IdOrdenCompra = info_det.IdOrdenCompra, IdProducto = info_det.IdProducto, pr_descripcion = info_det.pr_descripcion, mv_costo_sinConversion = info_det.do_precioFinal, dm_cantidad_sinConversion = info_det.do_Cantidad_vw, IdUnidadMedida_sinConversion = info_det.IdUnidadMedida, Saldo = info_det.Saldo, IdEmpresa_oc = IdEmpresaOC, IdSucursal_oc = IdSucursalOC, Secuencia_oc = Secuencia, IdCentroCosto = info_det.IdCentroCosto, IdPunto_cargo = info_det.IdPunto_cargo, IdPunto_cargo_grupo = info_det.IdPunto_cargo_grupo, cc_Descripcion = info_det.cc_Descripcion, SecuenciaTipo = info_det.SecuenciaTipo }; ObservacionOC = "OC# " + info_det.SecuenciaTipo + " " + info_det.oc_observacion; List_in_Ing_Egr_Inven_det.AddRow(info_det_inv, IdTransaccionSession); } } } //var model = List_in_Ing_Egr_Inven_det.get_list(IdTransaccionSession); return(Json(ObservacionOC, JsonRequestBehavior.AllowGet)); }
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); }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Ing_Egr_Inven_det_Info info_det) { com_ordencompra_local_det_List Lista_OC = new com_ordencompra_local_det_List(); int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); List <in_Ing_Egr_Inven_det_Info> lista_detalle = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); List <com_ordencompra_local_Info> lista_detalle_oc = Lista_OC.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); in_Ing_Egr_Inven_det_Info info_det_editar = lista_detalle.Where(q => q.Secuencia == info_det.Secuencia).FirstOrDefault(); com_ordencompra_local_Info info_oc = lista_detalle_oc.Where(q => q.IdEmpresa == info_det_editar.IdEmpresa && q.IdSucursal == info_det_editar.IdSucursal && q.IdOrdenCompra == info_det_editar.IdOrdenCompra && q.IdProducto == info_det_editar.IdProducto).FirstOrDefault(); info_det_editar.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; if (info_det_editar != null) { if (info_det_editar.IdProducto != 0) { in_Producto_Info info_producto = bus_producto.get_info(IdEmpresa, info_det_editar.IdProducto); if (info_producto != null) { info_det.Saldo = info_det_editar.Saldo; info_det.IdProducto = info_det_editar.IdProducto; info_det.pr_descripcion = info_producto.pr_descripcion_combo; info_det.IdUnidadMedida_sinConversion = info_producto.IdUnidadMedida; } } } if (info_det_editar.dm_cantidad_sinConversion > 0 && info_det_editar.dm_cantidad_sinConversion <= info_det_editar.Saldo) { List_in_Ing_Egr_Inven_det.UpdateRow(info_det_editar, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } var model = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_inv_det", model)); }