public Boolean Anular(in_transferencia_Info info, DateTime fecha_Anulacion, ref string mensaje) { try { bool res = false; in_transferencia_det_x_in_Guia_x_traspaso_bodega_det_Bus bus_tras_x_guia_det = new in_transferencia_det_x_in_Guia_x_traspaso_bodega_det_Bus(); in_transferencia_x_in_Guia_x_traspaso_bodega_Bus bus_trans_x_guia_cab = new in_transferencia_x_in_Guia_x_traspaso_bodega_Bus(); in_Guia_x_traspaso_bodega_x_in_transferencia_det_Bus bus_guia_x_traspaso = new in_Guia_x_traspaso_bodega_x_in_transferencia_det_Bus(); if (bus_tras_x_guia_det.EliminarDB(info)) { if (bus_trans_x_guia_cab.EliminarDB(info)) { if (oData_Transferencia.Anular(info)) { //ANULACION INGRESO info_ing_egr.IdEmpresa = info.IdEmpresa_Ing_Egr_Inven_Destino == null ? 0 : Convert.ToInt32(info.IdEmpresa_Ing_Egr_Inven_Destino); info_ing_egr.IdSucursal = info.IdSucursal_Ing_Egr_Inven_Destino == null ? 0 : Convert.ToInt32(info.IdSucursal_Ing_Egr_Inven_Destino); info_ing_egr.IdMovi_inven_tipo = info.IdMovi_inven_tipo_SucuDest == null ? 0 : Convert.ToInt32(info.IdMovi_inven_tipo_SucuDest); info_ing_egr.IdNumMovi = info.IdNumMovi_Ing_Egr_Inven_Destino == null ? 0 : Convert.ToDecimal(info.IdNumMovi_Ing_Egr_Inven_Destino); info_ing_egr = bus_Ing_Egr_Inv.Get_Info_Ing_Egr_Inven(info_ing_egr.IdEmpresa, info_ing_egr.IdSucursal, info_ing_egr.IdMovi_inven_tipo, info_ing_egr.IdNumMovi); info_ing_egr.IdusuarioUltAnu = info.IdUsuarioUltAnu; info_ing_egr.MotivoAnulacion = info.MotivoAnu; info_ing_egr.Fecha_UltAnu = info.Fecha_UltAnu; res = bus_Ing_Egr_Inv.AnularDB(info_ing_egr, ref mensaje); //ANULACION EGRESO info_ing_egr.IdEmpresa = info.IdEmpresa_Ing_Egr_Inven_Origen == null ? 0 : Convert.ToInt32(info.IdEmpresa_Ing_Egr_Inven_Origen); info_ing_egr.IdSucursal = info.IdSucursal_Ing_Egr_Inven_Origen == null ? 0 : Convert.ToInt32(info.IdSucursal_Ing_Egr_Inven_Origen); info_ing_egr.IdMovi_inven_tipo = info.IdMovi_inven_tipo_SucuOrig == null ? 0 : Convert.ToInt32(info.IdMovi_inven_tipo_SucuOrig); info_ing_egr.IdNumMovi = info.IdNumMovi_Ing_Egr_Inven_Origen == null ? 0 : Convert.ToDecimal(info.IdNumMovi_Ing_Egr_Inven_Origen); info_ing_egr = bus_Ing_Egr_Inv.Get_Info_Ing_Egr_Inven(info_ing_egr.IdEmpresa, info_ing_egr.IdSucursal, info_ing_egr.IdMovi_inven_tipo, info_ing_egr.IdNumMovi); info_ing_egr.IdusuarioUltAnu = info.IdUsuarioUltAnu; info_ing_egr.MotivoAnulacion = info.MotivoAnu; info_ing_egr.Fecha_UltAnu = info.Fecha_UltAnu; res = bus_Ing_Egr_Inv.AnularDB(info_ing_egr, ref mensaje); } } } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Anular", ex.Message), ex) { EntityType = typeof(in_transferencia_bus) }; } }
public Boolean Modificar_Estado_IngEgr_Det(List <in_Ing_Egr_Inven_det_Info> lista, string tipo, ref string msgs) { try { Boolean res = true; if (Validar_objeto_IngEgr_Det(lista, ref msgs)) { List <in_Ing_Egr_Inven_det_Info> listaAprobados = new List <in_Ing_Egr_Inven_det_Info>(); listaAprobados = lista.Where(q => q.IdEstadoAproba == Cl_Enumeradores.eEstadoAprobacion_Ing_Egr.APRO.ToString()).ToList(); if (listaAprobados.Count() > 0) { var ingEgr_cab = from ing_ in listaAprobados group ing_ by new { ing_.IdEmpresa, ing_.IdSucursal, ing_.IdBodega, ing_.IdMovi_inven_tipo, ing_.IdNumMovi } into grouping select new { grouping.Key }; foreach (var item in ingEgr_cab) { in_Ing_Egr_Inven_Info info_in_Ing_Egr = new in_Ing_Egr_Inven_Info(); info_in_Ing_Egr = busIng_Egr_Inv.Get_Info_Ing_Egr_Inven(item.Key.IdEmpresa, item.Key.IdSucursal, item.Key.IdMovi_inven_tipo, item.Key.IdNumMovi); info_in_Ing_Egr.listIng_Egr = new List <in_Ing_Egr_Inven_det_Info>(); info_in_Ing_Egr.listIng_Egr = lista.Where(q => q.IdEmpresa == item.Key.IdEmpresa && q.IdSucursal == item.Key.IdSucursal && q.IdMovi_inven_tipo == item.Key.IdMovi_inven_tipo && q.IdNumMovi == item.Key.IdNumMovi && q.IdEstadoAproba == Cl_Enumeradores.eEstadoAprobacion_Ing_Egr.APRO.ToString()).ToList(); busIng_Egr_Inv.procesoGenerarMoviInve(info_in_Ing_Egr, item.Key.IdNumMovi, ref mensaje); } } res = odata.Modificar_Estado_IngEgr_Det(lista, tipo, ref msgs); } else { res = false; } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Modificar_Estado_IngEgr_Det", ex.Message), ex) { EntityType = typeof(vwin_Ingr_Egr_Inven_det_Bus) }; } }
public Boolean GuardarDB(in_devolucion_inven_Info info, ref decimal IdDev_Inven, ref string mensaje) { Boolean Respuesta = false; try { int c = 0; Respuesta = oDat.GuardarDB(info, ref IdDev_Inven, ref mensaje); if (Respuesta) { c = 0; foreach (var item in info.lista_detalle) { item.IdDev_Inven = IdDev_Inven; c++; item.secuencia = c; } in_devolucion_inven_det_Bus BusDev_inv_det = new in_devolucion_inven_det_Bus(); Respuesta = BusDev_inv_det.GuardarDB(info.lista_detalle, ref mensaje); in_Parametro_Bus BusParametro = new in_Parametro_Bus(); in_Parametro_Info InfoParametro = new in_Parametro_Info(); InfoParametro = BusParametro.Get_Info_Parametro(info.IdEmpresa); in_movi_inven_tipo_Info InfoMovi_tipo = new in_movi_inven_tipo_Info(); in_movi_inven_tipo_Bus BusMovi_tipo = new in_movi_inven_tipo_Bus(); InfoMovi_tipo = BusMovi_tipo.Get_Info_movi_inven_tipo(info.IdEmpresa, info.IdMovi_inven_tipo); // in_movi_inve_Bus BusMovi_Inven = new in_movi_inve_Bus(); // in_movi_inve_Info InfoMovi_Inven = new in_movi_inve_Info(); //InfoMovi_Inven = BusMovi_Inven.Get_Info_Movi_inven(info.IdEmpresa, info.IdSucursal_movi_inven, info.IdBodega_movi_inven, info.IdMovi_inven_tipo, info.IdNumMovi); in_Ing_Egr_Inven_Bus Bus_Ing_Egre = new in_Ing_Egr_Inven_Bus(); in_Ing_Egr_Inven_Info Info_Ing_Egr = new in_Ing_Egr_Inven_Info(); Info_Ing_Egr = Bus_Ing_Egre.Get_Info_Ing_Egr_Inven(info.IdEmpresa, info.IdSucursal_movi_inven, info.IdMovi_inven_tipo, info.IdNumMovi); Info_Ing_Egr.IdNumMovi = 0; Info_Ing_Egr.IdMotivo_Inv = 1; if (InfoMovi_tipo.cm_tipo_movi == "-")// si es positivo hacer un egreso { Info_Ing_Egr.IdMovi_inven_tipo = Convert.ToInt32(InfoParametro.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg); Info_Ing_Egr.signo = "+"; } else { Info_Ing_Egr.IdMovi_inven_tipo = Convert.ToInt32(InfoParametro.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing); Info_Ing_Egr.signo = "-"; } Info_Ing_Egr.CodMoviInven = ""; Info_Ing_Egr.cm_observacion = "Ing x Dev/Inv. " + info.observacion; Info_Ing_Egr.cm_fecha = info.Fecha.Date;//La fecha de devoluciĆ³n Info_Ing_Egr.IdUsuario = param.IdUsuario; Info_Ing_Egr.Estado = "A"; c = 0; foreach (var item in info.lista_detalle) { c = c + 1; in_movi_inve_detalle_Info info_det_movi = new in_movi_inve_detalle_Info(); in_movi_inve_detalle_Bus bus_det_movi = new in_movi_inve_detalle_Bus(); info_det_movi = bus_det_movi.Get_info_Movi_inven_det(item.IdEmpresa_movi_inv, item.IdSucursal_movi_inv, item.IdBodega_movi_inv, item.IdMovi_inven_tipo_movi_inv, item.IdNumMovi_movi_inv, item.Secuencia_movi_inv); in_Ing_Egr_Inven_det_Info InfoDet_Ing_Egr = new in_Ing_Egr_Inven_det_Info(); InfoDet_Ing_Egr.IdEmpresa = item.IdEmpresa; InfoDet_Ing_Egr.IdSucursal = item.IdSucursal_movi_inv; InfoDet_Ing_Egr.IdNumMovi = 0; InfoDet_Ing_Egr.Secuencia = c; InfoDet_Ing_Egr.IdBodega = item.IdBodega_movi_inv; InfoDet_Ing_Egr.IdProducto = info_det_movi.IdProducto; if (Info_Ing_Egr.signo == "+")// si es positivo hacer un egreso { InfoDet_Ing_Egr.dm_cantidad_sinConversion = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.dm_cantidad = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.IdEstadoAproba = "APRO";//Debe ir directamente aprobado para poder vincularlo al ing/egr que se va a devolver por cuestiones del recosteo } else { InfoDet_Ing_Egr.dm_cantidad_sinConversion = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.dm_cantidad = Math.Abs(item.cantidad_a_devolver) * -1; InfoDet_Ing_Egr.IdEstadoAproba = "APRO";//Debe ir directamente aprobado para poder vincularlo al ing/egr que se va a devolver por cuestiones del recosteo } //Se pasa directamente el costo y unidad de medida convertido InfoDet_Ing_Egr.mv_costo_sinConversion = (info_det_movi.mv_costo == null) ? 0 : Convert.ToDouble(info_det_movi.mv_costo); InfoDet_Ing_Egr.mv_costo = (info_det_movi.mv_costo == null) ? 0 : Convert.ToDouble(info_det_movi.mv_costo); InfoDet_Ing_Egr.IdUnidadMedida = info_det_movi.IdUnidadMedida; InfoDet_Ing_Egr.IdUnidadMedida_Consumo = info_det_movi.IdUnidadMedida; InfoDet_Ing_Egr.IdUnidadMedida_sinConversion = info_det_movi.IdUnidadMedida; //Ingreso los id del detalle que esta devolviendo InfoDet_Ing_Egr.IdEmpresa_dev = item.IdEmpresa_movi_inv; InfoDet_Ing_Egr.IdSucursal_dev = item.IdSucursal_movi_inv; InfoDet_Ing_Egr.IdBodega_dev = item.IdBodega_movi_inv; InfoDet_Ing_Egr.IdMovi_inven_tipo_dev = item.IdMovi_inven_tipo_movi_inv; InfoDet_Ing_Egr.IdNumMovi_dev = item.IdNumMovi_movi_inv; InfoDet_Ing_Egr.Secuencia_dev = item.Secuencia_movi_inv; //Campos de egresos InfoDet_Ing_Egr.IdPunto_cargo = info_det_movi.IdPunto_Cargo; InfoDet_Ing_Egr.IdPunto_cargo_grupo = info_det_movi.IdPunto_cargo_grupo; InfoDet_Ing_Egr.IdCentroCosto = info_det_movi.IdCentroCosto; InfoDet_Ing_Egr.IdCentroCosto_sub_centro_costo = info_det_movi.IdCentroCosto_sub_centro_costo; Info_Ing_Egr.listIng_Egr.Add(InfoDet_Ing_Egr); } decimal IdNumMovi = 0; Respuesta = Bus_Ing_Egre.GuardarDB(Info_Ing_Egr, ref IdNumMovi, ref mensaje); } return(Respuesta); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex) { EntityType = typeof(in_devolucion_inven_Bus) }; } }