Beispiel #1
0
        void LimpiarDatos()
        {
            try
            {
                set_Accion(Cl_Enumeradores.eTipo_action.grabar);
                txtIdGuia.Text            = "";
                txtNumGuia.Text           = "";
                txtDirPuntoPart.Text      = "";
                txtDirPuntoLlega.Text     = "";
                txtNumOC_Quitar.Text      = "";
                cmbPuntoPartida.EditValue = null;
                cmbPuntoLlega.EditValue   = null;
                cmbTrasnportador.set_TransportistaInfo(0);
                cmbMotivoTras.set_CatalogosInfo("");
                dtpFecha.Value      = DateTime.Now;
                dtpFechaTras.Value  = DateTime.Now;
                dtpFechaLlega.Value = DateTime.Now;

                timeHoraLlegada.EditValue  = DateTime.Now;
                timeHoraTraslado.EditValue = DateTime.Now;



                Info_GuiaBodega = new in_Guia_x_traspaso_bodega_Info();
                Info_GuiaBodega.list_detalle_Guia_Sin_OC = new List <in_Guia_x_traspaso_bodega_det_sin_oc_Info>();
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #2
0
 private void ucGe_Menu_event_btnAnular_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     try
     {
         InfoGuia = (in_Guia_x_traspaso_bodega_Info)gridViewGuiaCons.GetFocusedRow();
         if (InfoGuia != null)
         {
             if (InfoGuia.Estado != "I")
             {
                 frm          = new FrmIn_Genera_Guia_x_Traspaso_Mant_Fj();
                 frm._SetInfo = InfoGuia;
                 frm.set_Accion(Cl_Enumeradores.eTipo_action.Anular); frm.MdiParent = this.MdiParent;
                 frm.Show();
                 frm.MdiParent = this.MdiParent;
                 //frm.event_frmGuia_Traspaso_FormClosing += frm_event_frmGuia_Traspaso_FormClosing;
             }
             else
             {
                 MessageBox.Show("El registro seleccionado ya se encuentra anulado.\nPor favor seleccione otro registro", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             }
         }
         else
         {
             MessageBox.Show("Seleccione un Registro a Mostrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return;
         }
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 public Boolean ModificarDB(in_Guia_x_traspaso_bodega_Info info, ref string mensaje)
 {
     try
     {
         Boolean res = true;
         if (Validar_y_corregir_objeto(ref info, ref mensaje))
         {
             res = odata.ModificarDB(info, ref mensaje);
             tb_sis_Documento_Tipo_Talonario_Bus busTalonario = new tb_sis_Documento_Tipo_Talonario_Bus();
             busTalonario.Modificar_Estado_Usado(info.IdEmpresa, info.CodDocumentoTipo, info.IdEstablecimiento, info.IdPuntoEmision, info.NumDocumento_Guia, ref mensaje);
         }
         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("", "ModificarDB", ex.Message), ex)
               {
                   EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
               };
     }
 }
Beispiel #4
0
        private bool Validar_guia_x_transferencia()
        {
            try
            {
                InfoGuia = (in_Guia_x_traspaso_bodega_Info)gridViewGuiaCons.GetRow(RowHanlde);
                if (InfoGuia != null)
                {
                    lst_trans_x_guia = bus_trans_x_guia.Get_list_trans_x_guia(InfoGuia.IdEmpresa, InfoGuia.IdGuia);
                    string mensaje = "GR# " + InfoGuia.IdGuia + ", no puede ser modificada debido a que está siendo utilizada en las siguientes transferencias:";
                    foreach (var item in lst_trans_x_guia)
                    {
                        mensaje += "\nSucursal: " + item.Su_Descripcion.Trim() + " Bodega: " + item.bo_Descripcion.Trim() + " Transferencia #:" + item.IdTransferencia_trans + "\n [" + item.pr_codigo + "] " + item.pr_descripcion;
                    }
                    if (mensaje != "GR# " + InfoGuia.IdGuia + ", no puede ser modificada debido a que está siendo utilizada en las siguientes transferencias:")
                    {
                        MessageBox.Show(mensaje, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Beispiel #5
0
 private void ucGe_Menu_event_btnModificar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     try
     {
         InfoGuia = (in_Guia_x_traspaso_bodega_Info)gridViewGuiaCons.GetFocusedRow();
         if (InfoGuia != null)
         {
             if (InfoGuia.Estado == "I")
             {
                 MessageBox.Show("No se pueden modificar registros inactivos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return;
             }
             else
             {
                 FrmIn_Genera_Guia_x_Traspaso_Mant_Fj frm = new FrmIn_Genera_Guia_x_Traspaso_Mant_Fj();
                 frm._SetInfo = InfoGuia;
                 frm.set_Accion(Cl_Enumeradores.eTipo_action.actualizar); frm.MdiParent = this.MdiParent;
                 frm.Show();
             }
         }
         else
         {
             MessageBox.Show("Seleccione un Registro a Mostrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return;
         }
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #6
0
 private void gridViewGuiaCons_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
 {
     try
     {
         InfoGuia = (in_Guia_x_traspaso_bodega_Info)gridViewGuiaCons.GetFocusedRow();
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 public Boolean AnularDB(in_Guia_x_traspaso_bodega_Info info, ref string mensaje)
 {
     try
     {
         return(odata.AnularDB(info, ref mensaje));
     }
     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("", "AnularDB", ex.Message), ex)
               {
                   EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
               };
     }
 }
        public List <in_Guia_x_traspaso_bodega_Info> Get_List_OC_x_in_Guia(int IdEmpresa, int IdSucursal, decimal IdOrdenCompra)
        {
            try
            {
                List <in_Guia_x_traspaso_bodega_Info> Lista = new List <in_Guia_x_traspaso_bodega_Info>();

                using (EntitiesCompras Context = new EntitiesCompras())
                {
                    var lst = from q in Context.vwcom_ordencompra_local_x_in_guia_x_traspaso_bodega
                              where q.IdEmpresa_OC == IdEmpresa &&
                              q.IdSucursal_OC == IdSucursal &&
                              q.IdOrdenCompra_OC == IdOrdenCompra
                              select q;

                    foreach (var item in lst)
                    {
                        in_Guia_x_traspaso_bodega_Info info = new in_Guia_x_traspaso_bodega_Info();

                        info.IdEmpresa              = item.IdEmpresa;
                        info.IdGuia                 = item.IdGuia;
                        info.IdSucursal_Partida     = item.IdSucursal_Partida;
                        info.IdSucursal_Llegada     = item.IdSucursal_Llegada;
                        info.Su_Descripcion         = item.Su_Descripcion;
                        info.Su_Descripcion_Llegada = item.Su_Descripcion_Llegada;
                        info.Fecha = Convert.ToDateTime(item.Fecha);

                        Lista.Add(info);
                    }
                }

                return(Lista);
            }
            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());
            }
        }
Beispiel #9
0
 void ucGe_Menu_Mantenimiento_x_usuario1_event_btnconsultar_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     try
     {
         InfoGuia = (in_Guia_x_traspaso_bodega_Info)gridViewGuiaCons.GetFocusedRow();
         if (InfoGuia != null)
         {
             frm = new FrmIn_Genera_Guia_x_Traspaso_Mant();
             frm.Set_Info(InfoGuia);
             frm.Set_Accion(Cl_Enumeradores.eTipo_action.consultar); frm.MdiParent = this.MdiParent;
             frm.Show();
             frm.event_frmGuia_Traspaso_FormClosing += frm_event_frmGuia_Traspaso_FormClosing;
         }
         else
         {
             MessageBox.Show("Seleccione un Registro a Mostrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return;
         }
     }
     catch (Exception ex)
     {
         Log_Error_bus.Log_Error(ex.ToString());
         MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            try
            {
                info_guia = (in_Guia_x_traspaso_bodega_Info)gridView_OC_x_Guia.GetRow(RowHandle);
                if (info_guia != null)
                {
                    XINV_NAT_Rpt001_Rpt Reporte = new XINV_NAT_Rpt001_Rpt();
                    Reporte.PIdEmpresa.Value = param.IdEmpresa;
                    Reporte.PIdGuia.Value    = info_guia.IdGuia;

                    Reporte.RequestParameters = false;
                    DevExpress.XtraReports.UI.ReportPrintTool pt = new DevExpress.XtraReports.UI.ReportPrintTool(Reporte);
                    pt.AutoShowParametersPanel = false;

                    Reporte.ShowPreviewDialog();
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString(), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        Boolean Validar_y_corregir_objeto(ref in_Guia_x_traspaso_bodega_Info Info_Guia, ref string msg)
        {
            try
            {
                #region 'Validaciones'
                /*--- validaciones */



                if (Info_Guia.IdEmpresa == 0)
                {
                    msg = "La variable estan en cero... IdEmpresa == 0  ";
                    return(false);
                }



                foreach (var item in Info_Guia.list_detalle_Guia)
                {
                    if (item.Cantidad_enviar == 0 || item.Cantidad_enviar == null)
                    {
                        msg = "Ingrese la cantidad de traspaso para el item : " + item.pr_descripcion + "  ";
                        return(false);
                    }
                }



                foreach (var item in Info_Guia.list_detalle_Guia_Sin_OC)
                {
                    if (item.Cantidad_enviar == 0 || item.Cantidad_enviar == null)
                    {
                        msg = "Ingrese la cantidad de traspaso para el item : " + item.nom_producto + "  ";
                        return(false);
                    }
                }


                if (Info_Guia.IdEmpresa <= 0 && Info_Guia.IdSucursal_Partida <= 0 && Info_Guia.IdSucursal_Llegada <= 0)
                {
                    msg = "Error en la cabecera de fact uno de los PK es <=0";
                    throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validaciones", msg))
                          {
                              EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                          };
                }


                if (Info_Guia.IdTransportista <= 0)
                {
                    msg = "Erro en la cabecera de guia IdTransportista es <=0";
                    throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validaciones", msg))
                          {
                              EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                          };
                }


                if (Info_Guia.IdMotivo_Traslado == "")
                {
                    msg = "Erro en la cabecera de IdMotivo_Traslado esta en blanco";
                    throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validaciones", msg))
                          {
                              EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                          };
                }


                if (Info_Guia.list_detalle_Guia.Count == 0 && Info_Guia.list_detalle_Guia_Sin_OC.Count == 0)
                {
                    msg = "la guia  no tiene detalle ";
                    throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Validaciones", msg))
                          {
                              EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                          };
                }



                /*--- Fin validaciones */


                /*--- corrigiendo data */

                Info_Guia.Estado = (string.IsNullOrEmpty(Info_Guia.Estado) == true) ? "A" : Info_Guia.Estado;
                Info_Guia.Fecha  = Convert.ToDateTime(Info_Guia.Fecha).Date;



                tb_sis_Documento_Tipo_Talonario_Bus  busTalonario  = new tb_sis_Documento_Tipo_Talonario_Bus();
                tb_sis_Documento_Tipo_Talonario_Info infoTalonario = new tb_sis_Documento_Tipo_Talonario_Info();
                tb_Sucursal_Bus Bus_Sucu   = new tb_Sucursal_Bus();
                tb_Bodega_Bus   Bus_bodega = new tb_Bodega_Bus();

                string mensajeDocumentoDupli = "";
                string cod_estable           = "";
                string cod_pto_emision       = "";

                Info_Guia.CodDocumentoTipo = Cl_Enumeradores.eTipoDocumento_Talonario.GUIA.ToString();


                // el objeto viene sin serie o sin # factura tomo el ultimo num de factura del talonario
                if (Info_Guia.IdEstablecimiento == "" || Info_Guia.IdEstablecimiento == null || Info_Guia.IdPuntoEmision == "" || Info_Guia.IdPuntoEmision == null ||
                    Info_Guia.NumDocumento_Guia == "" || Info_Guia.NumDocumento_Guia == null)
                {
                    cod_estable     = Bus_Sucu.Get_Cod_Establecimiento_x_Sucursal(Info_Guia.IdEmpresa, Convert.ToInt32(Info_Guia.IdSucursal_Partida));
                    cod_pto_emision = Bus_bodega.Get_cod_pto_emision_x_Bodega(Info_Guia.IdEmpresa, Convert.ToInt32(Info_Guia.IdSucursal_Partida), 1); // la tabla no tiene bodega
                    infoTalonario   = busTalonario.Get_Info_Primer_Documento_no_usado(Info_Guia.IdEmpresa, cod_pto_emision, cod_estable, Info_Guia.CodDocumentoTipo, Info_Guia.Es_electronica);

                    if (infoTalonario.NumDocumento == null)
                    {
                        msg = "No hay talonarios para Establecimiento=" + cod_estable + " y punto de emision=" + cod_pto_emision;
                        throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "no hay talonario activos", msg))
                              {
                                  EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                              };
                    }

                    Info_Guia.IdEstablecimiento = infoTalonario.Establecimiento;
                    Info_Guia.IdPuntoEmision    = infoTalonario.PuntoEmision;
                    Info_Guia.NumDocumento_Guia = infoTalonario.NumDocumento;
                }
                else
                {
                    // se puede dar si mas de un usario estan haciendo la factura y tienen en memoria o en la pantalla el mismo talonario
                    //verifico el numero de factura si esta usado
                    infoTalonario.Establecimiento          = Info_Guia.IdEstablecimiento;
                    infoTalonario.PuntoEmision             = Info_Guia.IdPuntoEmision;
                    infoTalonario.NumDocumento             = Info_Guia.NumDocumento_Guia;
                    infoTalonario.IdEmpresa                = Info_Guia.IdEmpresa;
                    infoTalonario.CodDocumentoTipo         = Info_Guia.CodDocumentoTipo;
                    infoTalonario.es_Documento_electronico = Info_Guia.Es_electronica;


                    if (Info_Guia.IdGuia == 0 && busTalonario.Documento_talonario_esta_Usado(infoTalonario, ref msg, ref mensajeDocumentoDupli))
                    {
                        //si esta en usado busco el siguiente
                        cod_estable     = Bus_Sucu.Get_Cod_Establecimiento_x_Sucursal(Info_Guia.IdEmpresa, Convert.ToInt32(Info_Guia.IdSucursal_Partida));
                        cod_pto_emision = Bus_bodega.Get_cod_pto_emision_x_Bodega(Info_Guia.IdEmpresa, Convert.ToInt32(Info_Guia.IdPuntoEmision), 1);

                        infoTalonario = busTalonario.Get_Info_Primer_Documento_no_usado(Info_Guia.IdEmpresa, cod_pto_emision, cod_estable, Info_Guia.CodDocumentoTipo, Info_Guia.Es_electronica);

                        if (infoTalonario.NumDocumento == null)
                        {
                            throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "no hay talonario activos", msg))
                                  {
                                      EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                                  };
                        }

                        Info_Guia.IdEstablecimiento = infoTalonario.Establecimiento;
                        Info_Guia.IdPuntoEmision    = infoTalonario.PuntoEmision;
                        Info_Guia.NumDocumento_Guia = infoTalonario.NumDocumento;
                    }
                }


                /*--- corrigiendo data */

                #endregion

                return(true);
            }
            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("", "Validar_y_corregir_objeto", ex.Message), ex)
                      {
                          EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                      };
            }
        }
        public in_Guia_x_traspaso_bodega_Info Get_Info_x_in_Guia(int IdEmpresa, decimal IdGuia)
        {
            try
            {
                in_Guia_x_traspaso_bodega_Info Info_Guia = new in_Guia_x_traspaso_bodega_Info();
                EntitiesInventario             oEnti     = new EntitiesInventario();
                var Query = from q in oEnti.vwin_guia_x_traspaso_bodega
                            where q.IdEmpresa == IdEmpresa &&
                            q.IdGuia == IdGuia
                            select q;
                foreach (var item in Query)
                {
                    Info_Guia.IdEmpresa          = item.IdEmpresa;
                    Info_Guia.IdGuia             = item.IdGuia;
                    Info_Guia.NumGuia            = item.NumGuia;
                    Info_Guia.IdSucursal_Partida = item.IdSucursal_Partida;
                    Info_Guia.IdSucursal_Llegada = item.IdSucursal_Llegada;
                    Info_Guia.Direc_sucu_Partida = item.Direc_sucu_Partida;
                    Info_Guia.Direc_sucu_Llegada = item.Direc_sucu_Llegada;
                    Info_Guia.IdTransportista    = item.IdTransportista;
                    Info_Guia.Fecha                  = Convert.ToDateTime(item.Fecha);
                    Info_Guia.Fecha_Traslado         = Convert.ToDateTime(item.Fecha_Traslado);
                    Info_Guia.Fecha_llegada          = Convert.ToDateTime(item.Fecha_llegada);
                    Info_Guia.IdMotivo_Traslado      = item.IdMotivo_Traslado;
                    Info_Guia.Estado                 = item.Estado.TrimEnd();
                    Info_Guia.Su_Descripcion         = item.Su_Descripcion;
                    Info_Guia.Su_Descripcion_Llegada = item.Su_Descripcion_Llegada;
                    Info_Guia.Hora_Llegada           = item.Hora_Llegada;
                    Info_Guia.Hora_Traslado          = item.Hora_Traslado;
                    Info_Guia.CodDocumentoTipo       = item.CodDocumentoTipo;
                    Info_Guia.IdEstablecimiento      = item.IdEstablecimiento;
                    Info_Guia.IdPuntoEmision         = item.IdPuntoEmision;
                    Info_Guia.NumDocumento_Guia      = item.NumDocumento_Guia;

                    Info_Guia.ced_transportista        = item.ced_transportista;
                    Info_Guia.nom_transportista        = item.nom_transportista;
                    Info_Guia.nom_Motivo_Traslado      = item.nom_Motivo_Traslado;
                    Info_Guia.cod_estable_llegada      = item.cod_estable_llegada;
                    Info_Guia.cod_estable_partida      = item.cod_estable_partida;
                    Info_Guia.razon_social_empresa     = item.razon_social_empresa;
                    Info_Guia.nom_comercial_empresa    = item.nom_comercial_empresa;
                    Info_Guia.contrib_especial_empresa = item.contrib_especial_empresa;
                    Info_Guia.obligado_conta_empresa   = item.obligado_conta_empresa;
                    Info_Guia.ruc_empresa   = item.ruc_empresa;
                    Info_Guia.nom_empresa   = item.nom_empresa;
                    Info_Guia.direc_empresa = item.direc_empresa;
                    Info_Guia.Placa         = item.Placa;
                }

                return(Info_Guia);
            }
            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());
            }
        }
Beispiel #13
0
        public in_Guia_x_traspaso_bodega_Info Get_Info_x_in_Guia(int IdEmpresa, decimal IdGuia)
        {
            try
            {
                EntitiesInventario oEnti = new EntitiesInventario();
                var item = oEnti.vwin_guia_x_traspaso_bodega.Where(q =>
                                                                   q.IdEmpresa == IdEmpresa &&
                                                                   q.IdGuia == IdGuia).FirstOrDefault();

                in_Guia_x_traspaso_bodega_Info Info_Guia = new in_Guia_x_traspaso_bodega_Info
                {
                    IdEmpresa          = item.IdEmpresa,
                    IdGuia             = item.IdGuia,
                    NumGuia            = item.NumGuia,
                    IdSucursal_Partida = item.IdSucursal_Partida,
                    IdSucursal_Llegada = item.IdSucursal_Llegada,
                    Direc_sucu_Partida = item.Direc_sucu_Partida,
                    Direc_sucu_Llegada = item.Direc_sucu_Llegada,
                    IdTransportista    = item.IdTransportista,
                    Fecha                  = item.Fecha,
                    Fecha_Traslado         = item.Fecha_Traslado,
                    Fecha_llegada          = item.Fecha_llegada,
                    IdMotivo_Traslado      = item.IdMotivo_Traslado,
                    Estado                 = item.Estado.TrimEnd(),
                    Su_Descripcion         = item.Su_Descripcion,
                    Su_Descripcion_Llegada = item.Su_Descripcion_Llegada,
                    Hora_Llegada           = item.Hora_Llegada,
                    Hora_Traslado          = item.Hora_Traslado,
                    CodDocumentoTipo       = item.CodDocumentoTipo,
                    IdEstablecimiento      = item.IdEstablecimiento,
                    IdPuntoEmision         = item.IdPuntoEmision,
                    NumDocumento_Guia      = item.NumDocumento_Guia,

                    ced_transportista        = item.ced_transportista,
                    nom_transportista        = item.nom_transportista,
                    nom_Motivo_Traslado      = item.nom_Motivo_Traslado,
                    cod_estable_llegada      = item.cod_estable_llegada,
                    cod_estable_partida      = item.cod_estable_partida,
                    razon_social_empresa     = item.razon_social_empresa,
                    nom_comercial_empresa    = item.nom_comercial_empresa,
                    contrib_especial_empresa = item.contrib_especial_empresa,
                    obligado_conta_empresa   = item.obligado_conta_empresa,
                    ruc_empresa                = item.ruc_empresa,
                    nom_empresa                = item.nom_empresa,
                    direc_empresa              = item.direc_empresa,
                    Placa                      = item.Placa,
                    NombreDestinatario         = item.NombreDestinatario,
                    IdentificacionDestinatario = item.IdentificacionDestinatario
                };
                return(Info_Guia);
            }
            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());
            }
        }
        private List <guiaRemision> Get_Xml_Guia_x_Traspaso(int IdEmpresa, decimal IdGuia)
        {
            try
            {
                tb_Bodega_Bus  Bus_Bodega  = new tb_Bodega_Bus();
                tb_Bodega_Info Info_Bodega = new tb_Bodega_Info();

                in_Guia_x_traspaso_bodega_Info Info_Guia = new in_Guia_x_traspaso_bodega_Info();
                Info_Guia = Get_Info_x_in_Guia(IdEmpresa, IdGuia);

                Info_Bodega = Bus_Bodega.Get_Info_Bodega(IdEmpresa, Convert.ToInt32(Info_Guia.IdSucursal_Partida), 1);

                List <guiaRemision>       listaaux      = new List <guiaRemision>();
                List <guiaRemision>       lista         = new List <guiaRemision>();
                guiaRemisionDestinatarios destinatarios = new guiaRemisionDestinatarios();
                guiaRemision myObject = new guiaRemision();


                myObject.destinatarios     = destinatarios;
                destinatarios.destinatario = new List <destinatario>();
                destinatario         destinatari     = new destinatario();
                destinatarioDetalles destinatariodet = new destinatarioDetalles();
                destinatari.detalles         = destinatariodet;
                destinatari.detalles.detalle = new List <detalle>();

                string correo = "";
                string format = "dd/MM/yyyy";



                myObject.id      = guiaRemisionID.comprobante;
                myObject.version = "1.1.0";
                myObject.id      = guiaRemisionID.comprobante;
                infoTributaria info = new infoTributaria();
                myObject.infoGuiaRemision = new guiaRemisionInfoGuiaRemision();
                //información tributaria
                myObject.infoTributaria             = info;
                info.ambiente                       = "1";
                myObject.infoTributaria.tipoEmision = "1";

                myObject.infoTributaria.razonSocial     = string.IsNullOrEmpty(Info_Guia.razon_social_empresa)?"": Info_Guia.razon_social_empresa.Trim();
                myObject.infoTributaria.nombreComercial = string.IsNullOrEmpty(Info_Guia.nom_comercial_empresa)?"": Info_Guia.nom_comercial_empresa.Trim();
                myObject.infoTributaria.ruc             = Info_Guia.ruc_empresa;

                myObject.infoTributaria.claveAcceso = "0000000000000000000000000000000000000000000000000";
                myObject.infoTributaria.codDoc      = "06";
                myObject.infoTributaria.estab       = Convert.ToString(Info_Guia.IdEstablecimiento);
                myObject.infoTributaria.ptoEmi      = Info_Guia.IdPuntoEmision;
                myObject.infoTributaria.secuencial  = Info_Guia.NumDocumento_Guia;

                myObject.infoTributaria.dirMatriz = string.IsNullOrEmpty(Info_Guia.direc_empresa)?"": Info_Guia.direc_empresa.Trim();
                //datos de la guía de remisión
                myObject.infoGuiaRemision.dirEstablecimiento = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Partida) ? "" : Info_Guia.Direc_sucu_Partida.Trim();
                myObject.infoGuiaRemision.dirPartida         = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Partida) ? "" : Info_Guia.Direc_sucu_Partida.Trim();

                myObject.infoGuiaRemision.razonSocialTransportista        = string.IsNullOrEmpty(Info_Guia.nom_transportista) ? "" : Info_Guia.nom_transportista.Trim();
                myObject.infoGuiaRemision.tipoIdentificacionTransportista = "05";
                myObject.infoGuiaRemision.rucTransportista = Info_Guia.ced_transportista;
                myObject.infoGuiaRemision.placa            = Info_Guia.Placa;


                //        myObject.infoGuiaRemision.obligadoContabilidad = (Info_Guia.obligado_conta_empresa == "SI" || Info_Guia.obligado_conta_empresa=="S") ?"S":"N";
                //      myObject.infoGuiaRemision.contribuyenteEspecial = Info_Guia.contrib_especial_empresa;


                myObject.infoGuiaRemision.fechaIniTransporte = Convert.ToDateTime(Info_Guia.Fecha_Traslado).ToString(format);
                myObject.infoGuiaRemision.fechaFinTransporte = Convert.ToDateTime(Info_Guia.Fecha_llegada).ToString(format);


                //datos del destinatario
                destinatari.identificacionDestinatario = Info_Guia.IdentificacionDestinatario;
                destinatari.razonSocialDestinatario    = string.IsNullOrEmpty(Info_Guia.NombreDestinatario) ? "" : Info_Guia.NombreDestinatario.Trim();
                destinatari.dirDestinatario            = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Llegada) ? "" : Info_Guia.Direc_sucu_Llegada.Trim();
                destinatari.motivoTraslado             = string.IsNullOrEmpty(Info_Guia.nom_Motivo_Traslado)?"": Info_Guia.nom_Motivo_Traslado.Trim();
                //destinatari.ruta = "";

                //destinatari.detalles.detalle
                //myObject.infoGuiaRemision
                //para extraer el detalle de la hoja, multiples lineas de producto

                in_Guia_x_traspaso_bodega_det_Bus         BusDetalle_Guia      = new in_Guia_x_traspaso_bodega_det_Bus();
                List <in_Guia_x_traspaso_bodega_det_Info> ListInfoDetalle_Guia = new List <in_Guia_x_traspaso_bodega_det_Info>();
                ListInfoDetalle_Guia = BusDetalle_Guia.Get_List_Guia_x_traspaso_bodega_x_OC_det(IdEmpresa, IdGuia);

                //if (ListInfoDetalle_Guia.Count() > 0)
                //{
                foreach (var item in ListInfoDetalle_Guia)
                {
                    detalle det = new detalle();
                    det.codigoInterno   = item.IdProducto.ToString();
                    det.codigoAdicional = item.pr_codigo;
                    det.descripcion     = item.nom_producto.Trim() + (item.obs_OCompra == null ? "" : item.obs_OCompra.Trim()) + "(OC#" + item.IdOrdenCompra + ")";
                    det.cantidad        = Convert.ToDecimal(item.Cantidad_enviar);
                    destinatari.detalles.detalle.Add(det);
                }
                //}
                //else
                //{

                in_Guia_x_traspaso_bodega_det_sin_oc_Bus         BusDetalle_Guia_SOC      = new in_Guia_x_traspaso_bodega_det_sin_oc_Bus();
                List <in_Guia_x_traspaso_bodega_det_sin_oc_Info> ListInfoDetalle_Guia_SOC = new List <in_Guia_x_traspaso_bodega_det_sin_oc_Info>();
                ListInfoDetalle_Guia_SOC = BusDetalle_Guia_SOC.Get_List_Guia_x_traspaso_bodega_det_sin_oc(IdEmpresa, IdGuia);

                foreach (var item in ListInfoDetalle_Guia_SOC)
                {
                    detalle det = new detalle();
                    det.codigoInterno   = (item.IdProducto == null) ? item.Num_Fact : Convert.ToDecimal(item.IdProducto).ToString();
                    det.codigoAdicional = item.Num_Fact;
                    det.descripcion     = item.nom_producto.Trim() + (item.observacion == null ? "" : item.observacion.Trim()) + "(Prove:" + item.nom_proveedor + ")";
                    det.cantidad        = Convert.ToDecimal(item.Cantidad_enviar);
                    destinatari.detalles.detalle.Add(det);
                }
                //}



                //campos adicionales guía de remisión
                guiaRemisionCampoAdicional compoadicional = new guiaRemisionCampoAdicional();
                Cl_ValidarEmail_Info       datosAdc       = new Cl_ValidarEmail_Info();
                if (datosAdc.email_bien_escrito(correo) == true)
                {
                    compoadicional.nombre  = "MAIL";
                    compoadicional.Value   = correo;
                    myObject.infoAdicional = new List <guiaRemisionCampoAdicional>();
                    myObject.infoAdicional.Add(compoadicional);
                }
                //punto de llegada
                if (Info_Guia.Direc_sucu_Llegada != "")                                                      //(dtrcabGuiaRe.IsDBNull(27) == false)
                {
                    compoadicional         = new guiaRemisionCampoAdicional();
                    compoadicional.nombre  = "DESTINO";
                    compoadicional.Value   = string.IsNullOrEmpty(Info_Guia.Direc_sucu_Llegada)?"": Info_Guia.Direc_sucu_Llegada;
                    myObject.infoAdicional = new List <guiaRemisionCampoAdicional>();
                    myObject.infoAdicional.Add(compoadicional);
                }

                destinatarios.destinatario.Add(destinatari);
                lista.Add(myObject);

                return(lista);;
            }
            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("", "ObtenerParaGuiaRemision", ex.Message), ex)
                      {
                          EntityType = typeof(in_Guia_x_traspaso_bodega_Bus)
                      };
            }
        }
        public List <in_Guia_x_traspaso_bodega_Info> Get_List_Guia_x_traspaso_bodega(int IdEmpresa, DateTime FechaIni, DateTime FechaFin)
        {
            List <in_Guia_x_traspaso_bodega_Info> Lst = new List <in_Guia_x_traspaso_bodega_Info>();

            try
            {
                FechaIni = Convert.ToDateTime(FechaIni.ToShortDateString());
                FechaFin = Convert.ToDateTime(FechaFin.ToShortDateString());

                EntitiesInventario oEnti = new EntitiesInventario();
                var Query = from q in oEnti.vwin_guia_x_traspaso_bodega
                            where q.IdEmpresa == IdEmpresa &&
                            q.Fecha >= FechaIni &&
                            q.Fecha <= FechaFin


                            select q;
                foreach (var item in Query)
                {
                    in_Guia_x_traspaso_bodega_Info Obj = new in_Guia_x_traspaso_bodega_Info();

                    Obj.IdEmpresa          = item.IdEmpresa;
                    Obj.IdGuia             = item.IdGuia;
                    Obj.NumGuia            = item.NumGuia;
                    Obj.IdSucursal_Partida = item.IdSucursal_Partida;
                    Obj.IdSucursal_Llegada = item.IdSucursal_Llegada;
                    Obj.Direc_sucu_Partida = item.Direc_sucu_Partida;
                    Obj.Direc_sucu_Llegada = item.Direc_sucu_Llegada;
                    Obj.IdTransportista    = item.IdTransportista;
                    Obj.Fecha             = Convert.ToDateTime(item.Fecha);
                    Obj.Fecha_Traslado    = Convert.ToDateTime(item.Fecha_Traslado);
                    Obj.Fecha_llegada     = Convert.ToDateTime(item.Fecha_llegada);
                    Obj.IdMotivo_Traslado = item.IdMotivo_Traslado;
                    Obj.Estado            = item.Estado.TrimEnd();

                    Obj.Su_Descripcion         = item.Su_Descripcion;
                    Obj.Su_Descripcion_Llegada = item.Su_Descripcion_Llegada;

                    Obj.Hora_Llegada  = item.Hora_Llegada;
                    Obj.Hora_Traslado = item.Hora_Traslado;


                    Obj.CodDocumentoTipo  = item.CodDocumentoTipo;
                    Obj.IdEstablecimiento = item.IdEstablecimiento;
                    Obj.IdPuntoEmision    = item.IdPuntoEmision;
                    Obj.NumDocumento_Guia = item.NumDocumento_Guia;


                    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 AnularDB(in_Guia_x_traspaso_bodega_Info info, ref string mensaje)
        {
            try
            {
                using (EntitiesInventario context = new EntitiesInventario())
                {
                    var contact = context.in_Guia_x_traspaso_bodega.FirstOrDefault(var => var.IdEmpresa == info.IdEmpresa && var.IdGuia == info.IdGuia);
                    if (contact != null)
                    {
                        contact.Estado = "I";

                        contact.Fecha_UltAnu    = info.Fecha_UltAnu;
                        contact.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                        context.SaveChanges();
                    }
                }

                if (info.list_detalle_Guia.Count > 0)
                {
                    using (EntitiesInventario context_ = new EntitiesInventario())
                    {
                        var Query = from q in context_.in_Guia_x_traspaso_bodega_det
                                    where q.IdEmpresa == info.IdEmpresa &&
                                    q.IdGuia == info.IdGuia
                                    select q;
                        foreach (var item in Query)
                        {
                            var contact_ = context_.in_Guia_x_traspaso_bodega_det.FirstOrDefault(var => var.IdEmpresa == info.IdEmpresa && var.IdGuia == info.IdGuia && var.secuencia == item.secuencia);
                            if (contact_ != null)
                            {
                                contact_.Cantidad_enviar = 0;
                            }
                        }
                        context_.SaveChanges();
                    }
                }


                if (info.Lista_Detalle_Transferencia.Count > 0)
                {
                    using (EntitiesInventario context_ = new EntitiesInventario())
                    {
                        var Query = from q in context_.in_Guia_x_traspaso_bodega_x_in_transferencia_det
                                    where q.IdEmpresa == info.IdEmpresa &&
                                    q.IdGuia == info.IdGuia
                                    select q;
                        foreach (var item in Query)
                        {
                            var contact_ = context_.in_Guia_x_traspaso_bodega_x_in_transferencia_det.FirstOrDefault(var => var.IdEmpresa == info.IdEmpresa && var.IdGuia == info.IdGuia && var.dt_secuencia == item.dt_secuencia);
                            if (contact_ != null)
                            {
                                contact_.cantidad = 0;
                            }
                            context_.SaveChanges();
                        }
                    }
                }



                mensaje = "Anulación ok..";


                return(true);
            }
            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 GuardarDB(in_Guia_x_traspaso_bodega_Info info, ref decimal IdGuia, ref string mensaje)
        {
            try
            {
                try
                {
                    using (EntitiesInventario Context = new EntitiesInventario())
                    {
                        in_Guia_x_traspaso_bodega_x_in_transferencia_det_Data Data_transferencia = new in_Guia_x_traspaso_bodega_x_in_transferencia_det_Data();
                        var Address = new in_Guia_x_traspaso_bodega();

                        Address.IdEmpresa = info.IdEmpresa;
                        Address.IdGuia    = info.IdGuia = GetIdGuia(info.IdEmpresa);
                        IdGuia            = info.IdGuia;

                        if (info.NumGuia == "")
                        {
                            info.NumGuia = info.IdGuia.ToString();
                        }

                        Address.NumGuia = info.NumGuia;

                        if (info.IdSucursal_Partida == 0)
                        {
                            info.IdSucursal_Partida = null;
                        }

                        Address.IdSucursal_Partida = info.IdSucursal_Partida;

                        if (info.IdSucursal_Llegada == 0)
                        {
                            info.IdSucursal_Llegada = null;
                        }

                        Address.IdSucursal_Llegada = info.IdSucursal_Llegada;

                        if (info.Direc_sucu_Partida == "")
                        {
                            info.Direc_sucu_Partida = null;
                        }

                        Address.Direc_sucu_Partida = info.Direc_sucu_Partida;

                        if (info.Direc_sucu_Llegada == "")
                        {
                            info.Direc_sucu_Llegada = null;
                        }

                        Address.Direc_sucu_Llegada = info.Direc_sucu_Llegada;

                        if (info.IdTransportista == 0)
                        {
                            info.IdTransportista = null;
                        }

                        if (info.IdMotivo_Traslado == "")
                        {
                            info.IdMotivo_Traslado = null;
                        }

                        Address.IdMotivo_Traslado = info.IdMotivo_Traslado;
                        Address.IdTransportista   = info.IdTransportista;

                        Address.Fecha          = Convert.ToDateTime(info.Fecha.ToShortDateString());
                        Address.Fecha_Traslado = Convert.ToDateTime(info.Fecha_Traslado.ToShortDateString());
                        Address.Fecha_llegada  = Convert.ToDateTime(info.Fecha_llegada.ToShortDateString());
                        Address.Estado         = "A";

                        Address.IdUsuario     = info.IdUsuario;
                        Address.Fecha_Transac = info.Fecha_Transac;
                        Address.nom_pc        = info.nom_pc;
                        Address.ip            = info.ip;
                        Address.Hora_Llegada  = info.Hora_Llegada;
                        Address.Hora_Traslado = info.Hora_Traslado;

                        Address.CodDocumentoTipo  = info.CodDocumentoTipo;
                        Address.IdEstablecimiento = info.IdEstablecimiento;
                        Address.IdPuntoEmision    = info.IdPuntoEmision;
                        Address.NumDocumento_Guia = info.NumDocumento_Guia;


                        Context.in_Guia_x_traspaso_bodega.Add(Address);
                        Context.SaveChanges();


                        //Grabar Detalles

                        //Graba tabla in_Guia_x_traspaso_bodega_det
                        if (info.list_detalle_Guia != null)
                        {
                            if (info.list_detalle_Guia.Count() != 0)
                            {
                                foreach (var item in info.list_detalle_Guia)
                                {
                                    item.IdEmpresa = info.IdEmpresa;
                                    item.IdGuia    = IdGuia;
                                }

                                in_Guia_x_traspaso_bodega_det_Data odata = new in_Guia_x_traspaso_bodega_det_Data();
                                odata.GuardarDB(info.list_detalle_Guia);
                            }
                        }
                        //Graba tabla in_Guia_x_traspaso_bodega_det_sin_oc
                        if (info.list_detalle_Guia_Sin_OC != null)
                        {
                            if (info.list_detalle_Guia_Sin_OC.Count() != 0)
                            {
                                foreach (var item in info.list_detalle_Guia_Sin_OC)
                                {
                                    item.IdEmpresa = info.IdEmpresa;
                                    item.IdGuia    = IdGuia;
                                }

                                in_Guia_x_traspaso_bodega_det_sin_oc_Data odata = new in_Guia_x_traspaso_bodega_det_sin_oc_Data();
                                odata.GuardarDB(info.list_detalle_Guia_Sin_OC);
                            }
                        }


                        if (info.Lista_Detalle_Transferencia != null)
                        {
                            foreach (var item in info.Lista_Detalle_Transferencia)
                            {
                                item.IdGuia = Convert.ToInt32(IdGuia);
                            }

                            Data_transferencia.Guardar(info.Lista_Detalle_Transferencia);
                        }
                        mensaje = "Grabación ok..";
                    }
                    return(true);
                }
                catch (DbEntityValidationException 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;
                    mensaje = "Error al Grabar" + ex.Message;
                    throw new Exception(ex.ToString());
                }
            }
            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(in_Guia_x_traspaso_bodega_Info info, ref string mensaje)
        {
            try
            {
                try
                {
                    using (EntitiesInventario context = new EntitiesInventario())
                    {
                        var contact = context.in_Guia_x_traspaso_bodega.FirstOrDefault(var => var.IdEmpresa == info.IdEmpresa && var.IdGuia == info.IdGuia);
                        if (contact != null)
                        {
                            contact.NumGuia            = info.NumGuia;
                            contact.IdSucursal_Partida = info.IdSucursal_Partida;
                            contact.IdSucursal_Llegada = info.IdSucursal_Llegada;

                            contact.Direc_sucu_Partida = info.Direc_sucu_Partida;
                            contact.Direc_sucu_Llegada = info.Direc_sucu_Llegada;
                            contact.IdTransportista    = info.IdTransportista;
                            contact.Fecha             = Convert.ToDateTime(info.Fecha.ToShortDateString());
                            contact.Fecha_Traslado    = Convert.ToDateTime(info.Fecha_Traslado.ToShortDateString());
                            contact.Fecha_llegada     = Convert.ToDateTime(info.Fecha_llegada.ToShortDateString());
                            contact.IdMotivo_Traslado = info.IdMotivo_Traslado;

                            contact.Hora_Llegada  = info.Hora_Llegada;
                            contact.Hora_Traslado = info.Hora_Traslado;

                            contact.Fecha_UltMod    = info.Fecha_UltMod;
                            contact.IdUsuarioUltMod = info.IdUsuarioUltMod;


                            contact.CodDocumentoTipo  = info.CodDocumentoTipo;
                            contact.IdEstablecimiento = info.IdEstablecimiento;
                            contact.IdPuntoEmision    = info.IdPuntoEmision;
                            contact.NumDocumento_Guia = info.NumDocumento_Guia;

                            context.SaveChanges();

                            in_Guia_x_traspaso_bodega_det_Data odataDet = new in_Guia_x_traspaso_bodega_det_Data();
                            odataDet.EliminarDB(info.IdEmpresa, info.IdGuia);

                            //Graba tabla in_Guia_x_traspaso_bodega_det
                            foreach (var item in info.list_detalle_Guia)
                            {
                                item.IdEmpresa = info.IdEmpresa;
                                item.IdGuia    = info.IdGuia;
                            }

                            in_Guia_x_traspaso_bodega_det_Data oData_con_OC = new in_Guia_x_traspaso_bodega_det_Data();
                            oData_con_OC.GuardarDB(info.list_detalle_Guia);


                            in_Guia_x_traspaso_bodega_det_sin_oc_Data odataDetsinOC = new in_Guia_x_traspaso_bodega_det_sin_oc_Data();
                            odataDetsinOC.EliminarDB(info.IdEmpresa, info.IdGuia);

                            //Graba tabla in_Guia_x_traspaso_bodega_det_sin_oc
                            foreach (var item in info.list_detalle_Guia_Sin_OC)
                            {
                                item.IdEmpresa = info.IdEmpresa;
                                item.IdGuia    = info.IdGuia;
                            }

                            in_Guia_x_traspaso_bodega_det_sin_oc_Data oData_sin_oc = new in_Guia_x_traspaso_bodega_det_sin_oc_Data();
                            oData_sin_oc.GuardarDB(info.list_detalle_Guia_Sin_OC);


                            if (info.Lista_Detalle_Transferencia.Count != 0)
                            {
                                in_Guia_x_traspaso_bodega_x_in_transferencia_det_Data Data_transf = new in_Guia_x_traspaso_bodega_x_in_transferencia_det_Data();
                                if (Data_transf.Eliminar(info.Lista_Detalle_Transferencia.FirstOrDefault()))
                                {
                                    Data_transf.Guardar(info.Lista_Detalle_Transferencia);
                                }
                            }

                            mensaje = "Actualización ok..";
                        }
                    }
                    return(true);
                }
                catch (DbEntityValidationException 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;
                    mensaje = "Error al Grabar" + ex.Message;
                    throw new Exception(ex.ToString());
                }
            }
            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());
            }
        }