public Boolean ModificarDB(com_ordencompra_local_Info Info, ref string msg) { try { Boolean resp1 = true; if (Validar_objeto(Info, ref msg)) { resp1 = BusOC.ModificarDB(Info, ref msg); List <com_ordencompra_local_det_Info> generados = new List <com_ordencompra_local_det_Info>(); List <com_ordencompra_local_det_Info> agregados = new List <com_ordencompra_local_det_Info>(); in_Guia_x_traspaso_bodega_det_Info info_guia = new in_Guia_x_traspaso_bodega_det_Info(); in_Guia_x_traspaso_bodega_det_Bus bus_guia = new in_Guia_x_traspaso_bodega_det_Bus(); string sGuias = ""; if (!bus_guia.Existe_OC_en_guia(Info, ref sGuias)) { int secuencia = 0; secuencia = BusDetOC.GetSecuencia_x_OC(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); // consultar tabla intermedia com_ordencompra_local_det_x_com_solicitud_compra_det_Bus bus_Inter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Bus(); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listInter = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); listInter = bus_Inter.Get_List_ordencompra_local_det_x_com_solicitud_compra_det_x_OrdenCompra(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listInter_AUX = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); if (listInter.Count() != 0) { // recupero los datos tabla intermedia foreach (var item in listInter) { com_ordencompra_local_det_x_com_solicitud_compra_det_Info infoInter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); infoInter.ocd_IdEmpresa = item.ocd_IdEmpresa; infoInter.ocd_IdSucursal = item.ocd_IdSucursal; infoInter.ocd_IdOrdenCompra = item.ocd_IdOrdenCompra; infoInter.ocd_Secuencia = item.ocd_Secuencia; infoInter.scd_IdEmpresa = item.scd_IdEmpresa; infoInter.scd_IdSucursal = item.scd_IdSucursal; infoInter.scd_IdSolicitudCompra = item.scd_IdSolicitudCompra; infoInter.scd_Secuencia = item.scd_Secuencia; infoInter.observacion = item.observacion; listInter_AUX.Add(infoInter); } //eliminar detalle tabla intermedia if (bus_Inter.Eliminar_Detalle_OCDxSCD(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra, ref msg)) { } } if (BusDetOC.EliminarDetalle_OC(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra, ref msg)) { resp1 = BusOC_det.GuardarDB(Info.listDetalle, ref msg); //grabar tabla intermedia if (listInter.Count() != 0) { if (bus_Inter.GrabarDB(listInter_AUX, ref mensaje)) { } } } } else { // aqui existe guias con esta OC verifico q los registro sean los mismos para poder modificar la OC sino NO com_ordencompra_local_Info InfoVali = new com_ordencompra_local_Info(); //InfoVali = BusOC.Get_Info_ordencompra_local_x_Total_RegOC_vs_Total_RegGuia(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); resp1 = BusDetOC.ModificarDB(Info.listDetalle, ref msg); } } else { // resp1 = false; } return(resp1); } 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("", "ModificarDB", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }
public Boolean GuardarDB(com_ordencompra_local_Info Info, ref decimal id, ref string msg) { try { Boolean res = true; if (Validar_objeto(Info, ref msg)) { //cabecera res = BusOC.GuardarDB(Info, ref id); foreach (var item in Info.listDetalle) { item.IdEmpresa = Info.IdEmpresa; item.IdSucursal = Info.IdSucursal; item.IdOrdenCompra = id; //item.IdUnidadMedida=Info.listDetalle. } //detalle res = BusOC_det.GuardarDB(Info.listDetalle, ref msg); // opcion habilitada cuando se graba desde la pantalla aprobacion de solicitudes con generacion de orden compra #region grabar en tabla intermedia com_ordencompra_local_det_x_com_solicitud_compra_det if (Info.listDetSoliciComp.Count() != 0) { // consulto detalle orden compra com_ordencompra_local_det_Data odata = new com_ordencompra_local_det_Data(); List <com_ordencompra_local_det_Info> listDetComp = new List <com_ordencompra_local_det_Info>(); listDetComp = odata.Get_List_ordencompra_local_det(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listDetCompra = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info> listDetSoliCompra = new List <com_ordencompra_local_det_x_com_solicitud_compra_det_Info>(); com_ordencompra_local_det_x_com_solicitud_compra_det_Info info; foreach (var item in listDetComp) { info = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); info.ocd_IdEmpresa = item.IdEmpresa; info.ocd_IdSucursal = item.IdSucursal; info.ocd_IdOrdenCompra = item.IdOrdenCompra; info.ocd_Secuencia = item.Secuencia; listDetCompra.Add(info); } foreach (var item in Info.listDetSoliciComp) { info = new com_ordencompra_local_det_x_com_solicitud_compra_det_Info(); info.scd_IdEmpresa = item.IdEmpresa; info.scd_IdSucursal = item.IdSucursal; info.scd_IdSolicitudCompra = item.IdSolicitudCompra; info.scd_Secuencia = item.Secuencia; listDetSoliCompra.Add(info); } int scd_IdEmpresa = 0; int scd_IdSucursal = 0; decimal scd_IdSolicitudCompra = 0; int scd_Secuencia = 0; foreach (var item in listDetCompra) { var items = listDetSoliCompra.First(v => v.ocd_IdEmpresa == 0 && v.ocd_IdSucursal == 0 && v.ocd_IdOrdenCompra == 0 && v.ocd_Secuencia == 0); scd_IdEmpresa = items.scd_IdEmpresa; scd_IdSucursal = items.scd_IdSucursal; scd_IdSolicitudCompra = items.scd_IdSolicitudCompra; scd_Secuencia = items.scd_Secuencia; listDetSoliCompra.Remove(items); item.scd_IdEmpresa = scd_IdEmpresa; item.scd_IdSucursal = scd_IdSucursal; item.scd_IdSolicitudCompra = scd_IdSolicitudCompra; item.scd_Secuencia = scd_Secuencia; } com_ordencompra_local_det_x_com_solicitud_compra_det_Bus bus_Inter = new com_ordencompra_local_det_x_com_solicitud_compra_det_Bus(); if (bus_Inter.GrabarDB(listDetCompra, ref mensaje)) { } } #endregion } 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("", "GuardarDB", ex.Message), ex) { EntityType = typeof(com_ordencompra_local_Bus) }; } }