public List <in_Guia_x_traspaso_bodega_det_Info> Get_List_Guia_x_traspaso_bodega_sin_transferencia_det(int IdEmpresa, decimal IdGuia)
        {
            List <in_Guia_x_traspaso_bodega_det_Info> Lst = new List <in_Guia_x_traspaso_bodega_det_Info>();
            EntitiesInventario oEnti = new EntitiesInventario();

            try
            {
                var Query = from q in oEnti.vwin_Guia_x_traspaso_bodega_det_sin_Transferencia
                            where q.IdEmpresa == IdEmpresa && q.IdGuia == IdGuia
                            select q;
                foreach (var item in Query)
                {
                    in_Guia_x_traspaso_bodega_det_Info Obj = new in_Guia_x_traspaso_bodega_det_Info();
                    Obj.IdEmpresa                      = item.IdEmpresa;
                    Obj.IdGuia                         = item.IdGuia;
                    Obj.secuencia                      = item.secuencia;
                    Obj.IdEmpresa_OC                   = Convert.ToInt32(item.IdEmpresa_OC);
                    Obj.IdSucursal_OC                  = Convert.ToInt32(item.IdSucursal_OC);
                    Obj.IdOrdenCompra_OC               = Convert.ToDecimal(item.IdOrdenCompra_OC);
                    Obj.Secuencia_OC                   = Convert.ToInt32(item.Secuencia_OC);
                    Obj.observacion                    = item.observacion;
                    Obj.Cantidad_enviar                = Convert.ToDouble(item.Cantidad_enviar);
                    Obj.IdProducto                     = item.IdProducto;
                    Obj.IdPunto_cargo                  = item.IdPunto_cargo;
                    Obj.IdUnidadMedida                 = item.IdUnidadMedida;
                    Obj.pr_codigo                      = item.pr_codigo;
                    Obj.IdPunto_cargo_grupo            = item.IdPunto_cargo_grupo;
                    Obj.IdCentroCosto                  = item.IdCentroCosto;
                    Obj.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo;
                    Obj.do_precioCompra                = item.do_precioCompra;


                    Lst.Add(Obj);
                }
                return(Lst);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), "", arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.ToString() + " " + ex.Message;
                throw new Exception(ex.ToString());
            }
        }
        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)
                      };
            }
        }