Пример #1
0
        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


                        if (BusDetOC.EliminarDetalle_OC(Info.IdEmpresa, Info.IdSucursal, Info.IdOrdenCompra, ref msg))
                        {
                            resp1 = BusOC_det.GuardarDB(Info.listDetalle, ref msg);
                        }
                    }
                    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 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)
                      };
            }
        }