public bool anularDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Estado          = "I";
                    Entity.IdUsuarioUltAnu = info.IdUsuarioUltAnu;
                    Entity.FechaHoraAnul   = DateTime.Now;

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #2
0
        public bool RechazarOC(int IdEmpresa, int IdSucursal, string[] Lista, string MotivoAprobacion, string IdUsuarioAprobacion)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    foreach (var item in Lista)
                    {
                        var IdOrdenCompraAprobacion  = Convert.ToDecimal(item);
                        com_ordencompra_local Entity = Context.com_ordencompra_local.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdOrdenCompra == IdOrdenCompraAprobacion);
                        if (Entity != null)
                        {
                            Entity.IdEstadoAprobacion_cat = "ANU";
                            Entity.MotivoAprobacion       = MotivoAprobacion;
                            Entity.IdUsuarioAprobacion    = IdUsuarioAprobacion;
                            Entity.FechaAprobacion        = DateTime.Now;

                            Entity.Estado = "I";

                            Entity.IdUsuarioUltAnu = IdUsuarioAprobacion;
                            Entity.Fecha_UltAnu    = DateTime.Now;
                            Entity.MotivoAnulacion = MotivoAprobacion;
                        }
                        Context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public com_ordencompra_local_Info get_info(int IdEmpresa, int IdSucursal, decimal IdOrdenCompra)
        {
            try
            {
                com_ordencompra_local_Info info = new com_ordencompra_local_Info();
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdOrdenCompra == IdOrdenCompra).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(null);
                    }

                    info = new com_ordencompra_local_Info
                    {
                        IdEmpresa              = Entity.IdEmpresa,
                        IdComprador            = Entity.IdComprador,
                        IdOrdenCompra          = Entity.IdOrdenCompra,
                        IdDepartamento         = Entity.IdDepartamento,
                        IdEstadoAprobacion_cat = Entity.IdEstadoAprobacion_cat,
                        IdEstado_cierre        = Entity.IdEstado_cierre,
                        IdMotivo            = Entity.IdMotivo,
                        IdProveedor         = Entity.IdProveedor,
                        IdSucursal          = Entity.IdSucursal,
                        IdTerminoPago       = Entity.IdTerminoPago,
                        IdUsuario_Aprueba   = Entity.IdUsuario_Aprueba,
                        IdUsuario_Reprue    = Entity.IdUsuario_Reprue,
                        Estado              = Entity.Estado,
                        oc_plazo            = Entity.oc_plazo,
                        oc_observacion      = Entity.oc_observacion,
                        oc_fecha            = Entity.oc_fecha,
                        oc_fechaVencimiento = Entity.oc_fechaVencimiento,
                        oc_NumDocumento     = Entity.oc_NumDocumento,
                        co_fechaReproba     = Entity.co_fechaReproba,
                        co_fecha_aprobacion = Entity.co_fecha_aprobacion
                    };
                }
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool modificarDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdComprador            = info.IdComprador;
                    Entity.IdDepartamento         = info.IdDepartamento;
                    Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat;
                    Entity.IdEstado_cierre        = info.IdEstado_cierre;
                    Entity.IdMotivo            = info.IdMotivo;
                    Entity.IdProveedor         = info.IdProveedor;
                    Entity.IdSucursal          = info.IdSucursal;
                    Entity.IdTerminoPago       = info.IdTerminoPago;
                    Entity.IdUsuario_Aprueba   = info.IdUsuario_Aprueba;
                    Entity.IdUsuario_Reprue    = info.IdUsuario_Reprue;
                    Entity.oc_plazo            = info.oc_plazo;
                    Entity.oc_observacion      = info.oc_observacion;
                    Entity.oc_fecha            = info.oc_fecha;
                    Entity.oc_fechaVencimiento = info.oc_fechaVencimiento;
                    Entity.oc_NumDocumento     = info.oc_NumDocumento;
                    Entity.co_fechaReproba     = info.co_fechaReproba;
                    Entity.co_fecha_aprobacion = info.co_fecha_aprobacion;

                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;
                    var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra);
                    Context.com_ordencompra_local_det.RemoveRange(det);
                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa       = info.IdEmpresa,
                            IdSucursal      = info.IdSucursal,
                            IdOrdenCompra   = info.IdOrdenCompra,
                            IdProducto      = item.IdProducto,
                            IdCod_Impuesto  = item.IdCod_Impuesto,
                            IdUnidadMedida  = item.IdUnidadMedida,
                            do_Cantidad     = item.do_Cantidad,
                            do_descuento    = item.do_descuento,
                            do_iva          = item.do_iva,
                            do_observacion  = item.do_observacion,
                            do_porc_des     = item.do_porc_des,
                            do_precioCompra = item.do_precioCompra,
                            do_precioFinal  = item.do_precioFinal,
                            do_subtotal     = item.do_subtotal,
                            do_total        = item.do_total,
                            Por_Iva         = item.Por_Iva,
                            Secuencia       = item.Secuencia
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool guardarDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = new com_ordencompra_local
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdComprador            = info.IdComprador,
                        IdOrdenCompra          = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal),
                        IdDepartamento         = info.IdDepartamento,
                        IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat,
                        IdEstado_cierre        = info.IdEstado_cierre,
                        IdMotivo            = info.IdMotivo,
                        IdProveedor         = info.IdProveedor,
                        IdSucursal          = info.IdSucursal,
                        IdTerminoPago       = info.IdTerminoPago,
                        IdUsuario_Aprueba   = info.IdUsuario_Aprueba,
                        IdUsuario_Reprue    = info.IdUsuario_Reprue,
                        Estado              = "A",
                        oc_plazo            = info.oc_plazo,
                        oc_observacion      = info.oc_observacion,
                        oc_fecha            = info.oc_fecha,
                        oc_fechaVencimiento = info.oc_fechaVencimiento,
                        oc_NumDocumento     = info.oc_NumDocumento,
                        co_fechaReproba     = info.co_fechaReproba,
                        co_fecha_aprobacion = info.co_fecha_aprobacion,

                        IdUsuario     = info.IdUsuario,
                        Fecha_Transac = DateTime.Now
                    };

                    Context.com_ordencompra_local.Add(Entity);

                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa       = info.IdEmpresa,
                            IdOrdenCompra   = info.IdOrdenCompra,
                            IdSucursal      = info.IdSucursal,
                            IdProducto      = item.IdProducto,
                            IdCod_Impuesto  = item.IdCod_Impuesto,
                            IdUnidadMedida  = item.IdUnidadMedida,
                            do_Cantidad     = item.do_Cantidad,
                            do_descuento    = item.do_descuento,
                            do_iva          = item.do_iva,
                            do_observacion  = item.do_observacion,
                            do_porc_des     = item.do_porc_des,
                            do_precioCompra = item.do_precioCompra,
                            do_precioFinal  = item.do_precioFinal,
                            do_subtotal     = item.do_subtotal,
                            do_total        = item.do_total,
                            Por_Iva         = item.Por_Iva,
                            Secuencia       = item.Secuencia
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #6
0
        public bool modificarDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdComprador            = info.IdComprador;
                    Entity.IdDepartamento         = info.IdDepartamento;
                    Entity.Tipo                   = info.Tipo;
                    Entity.SecuenciaTipo          = info.SecuenciaTipo;
                    Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat;
                    Entity.IdEstado_cierre        = info.IdEstado_cierre;
                    Entity.IdProveedor            = info.IdProveedor;
                    Entity.IdSucursal             = info.IdSucursal;
                    Entity.IdTerminoPago          = info.IdTerminoPago;
                    Entity.oc_plazo               = info.oc_plazo;
                    Entity.oc_observacion         = info.oc_observacion;
                    Entity.oc_fecha               = info.oc_fecha;
                    Entity.oc_fechaVencimiento    = info.oc_fechaVencimiento;
                    Entity.oc_codigo              = info.oc_codigo;
                    Entity.IdUsuarioUltMod        = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod           = DateTime.Now;

                    var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra);
                    Context.com_ordencompra_local_det.RemoveRange(det);
                    int Secuencia = 1;
                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdSucursal          = info.IdSucursal,
                            IdOrdenCompra       = info.IdOrdenCompra,
                            IdProducto          = item.IdProducto,
                            IdCod_Impuesto      = item.IdCod_Impuesto,
                            IdUnidadMedida      = item.IdUnidadMedida,
                            do_Cantidad         = item.do_Cantidad,
                            do_descuento        = item.do_descuento,
                            do_iva              = item.do_iva,
                            do_observacion      = item.do_observacion,
                            do_porc_des         = item.do_porc_des,
                            do_precioCompra     = item.do_precioCompra,
                            do_precioFinal      = item.do_precioFinal,
                            do_subtotal         = item.do_subtotal,
                            do_total            = item.do_total,
                            Por_Iva             = item.Por_Iva,
                            Secuencia           = Secuencia++,
                            IdCentroCosto       = item.IdCentroCosto,
                            IdPunto_cargo       = item.IdPunto_cargo,
                            IdPunto_cargo_grupo = item.IdPunto_cargo_grupo
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }

                    var Descuento              = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_Cantidad * q.do_descuento)), 2, MidpointRounding.AwayFromZero);
                    var ValorIVA               = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_iva)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalIVASinDscto    = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalIVAConDscto    = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinDscto       = Math.Round(SubtotalIVASinDscto + SubtotalSinIVASinDscto, 2, MidpointRounding.AwayFromZero);
                    var SubtotalConDscto       = Math.Round(SubtotalIVAConDscto + SubtotalSinIVAConDscto, 2, MidpointRounding.AwayFromZero);
                    var Total = Math.Round(SubtotalConDscto + ValorIVA, 2, MidpointRounding.AwayFromZero);


                    com_ordencompra_local_resumen Entity_Resumen = new com_ordencompra_local_resumen
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdSucursal             = info.IdSucursal,
                        IdOrdenCompra          = info.IdOrdenCompra,
                        SubtotalIVASinDscto    = SubtotalIVASinDscto,
                        SubtotalSinIVASinDscto = SubtotalSinIVASinDscto,
                        SubtotalSinDscto       = SubtotalSinDscto,
                        Descuento              = Descuento,
                        SubtotalIVAConDscto    = SubtotalIVAConDscto,
                        SubtotalSinIVAConDscto = SubtotalSinIVAConDscto,
                        SubtotalConDscto       = SubtotalConDscto,
                        ValorIVA = ValorIVA,
                        Total    = Total
                    };
                    var oc = Context.com_ordencompra_local_resumen.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdOrdenCompra == info.IdOrdenCompra && q.IdSucursal == info.IdSucursal).FirstOrDefault();
                    Context.com_ordencompra_local_resumen.Remove(oc);
                    Context.com_ordencompra_local_resumen.Add(Entity_Resumen);

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Exemple #7
0
        public bool guardarDB(com_ordencompra_local_Info info)
        {
            com_ordencompra_local_resumen_Info info_resumen = new com_ordencompra_local_resumen_Info();

            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = new com_ordencompra_local
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdComprador            = info.IdComprador,
                        IdOrdenCompra          = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal),
                        IdDepartamento         = info.IdDepartamento,
                        IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat,
                        IdEstado_cierre        = info.IdEstado_cierre,
                        IdProveedor            = info.IdProveedor,
                        IdSucursal             = info.IdSucursal,
                        Tipo                = info.Tipo,
                        SecuenciaTipo       = info.SecuenciaTipo = get_id_by_tipo(info.IdEmpresa, info.IdSucursal, info.Tipo),
                        IdTerminoPago       = info.IdTerminoPago,
                        Estado              = "A",
                        oc_plazo            = info.oc_plazo,
                        oc_observacion      = info.oc_observacion,
                        oc_fecha            = info.oc_fecha,
                        oc_fechaVencimiento = info.oc_fechaVencimiento,
                        oc_codigo           = info.oc_codigo,
                        IdUsuario           = info.IdUsuario,
                        Fecha_Transac       = DateTime.Now
                    };

                    Context.com_ordencompra_local.Add(Entity);
                    int Secuencia = 1;
                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa           = info.IdEmpresa,
                            IdOrdenCompra       = info.IdOrdenCompra,
                            IdSucursal          = info.IdSucursal,
                            IdProducto          = item.IdProducto,
                            IdCod_Impuesto      = item.IdCod_Impuesto,
                            IdUnidadMedida      = item.IdUnidadMedida,
                            do_Cantidad         = item.do_Cantidad,
                            do_descuento        = item.do_descuento,
                            do_iva              = item.do_iva,
                            do_observacion      = item.do_observacion,
                            do_porc_des         = item.do_porc_des,
                            do_precioCompra     = item.do_precioCompra,
                            do_precioFinal      = item.do_precioFinal,
                            do_subtotal         = item.do_subtotal,
                            do_total            = item.do_total,
                            Por_Iva             = item.Por_Iva,
                            Secuencia           = Secuencia++,
                            IdCentroCosto       = item.IdCentroCosto,
                            IdPunto_cargo       = item.IdPunto_cargo,
                            IdPunto_cargo_grupo = item.IdPunto_cargo_grupo
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }

                    var Descuento              = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_Cantidad * q.do_descuento)), 2, MidpointRounding.AwayFromZero);
                    var ValorIVA               = Math.Round(Convert.ToDecimal(info.lst_det.Sum(q => q.do_iva)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalIVASinDscto    = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinIVASinDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_Cantidad * q.do_precioCompra)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalIVAConDscto    = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva != 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinIVAConDscto = Math.Round(Convert.ToDecimal(info.lst_det.Where(q => q.Por_Iva == 0).Sum(q => q.do_subtotal)), 2, MidpointRounding.AwayFromZero);
                    var SubtotalSinDscto       = Math.Round(SubtotalIVASinDscto + SubtotalSinIVASinDscto, 2, MidpointRounding.AwayFromZero);
                    var SubtotalConDscto       = Math.Round(SubtotalIVAConDscto + SubtotalSinIVAConDscto, 2, MidpointRounding.AwayFromZero);
                    var Total = Math.Round(SubtotalConDscto + ValorIVA, 2, MidpointRounding.AwayFromZero);

                    com_ordencompra_local_resumen Entity_Resumen = new com_ordencompra_local_resumen
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdSucursal             = info.IdSucursal,
                        IdOrdenCompra          = info.IdOrdenCompra,
                        SubtotalIVASinDscto    = SubtotalIVASinDscto,
                        SubtotalSinIVASinDscto = SubtotalSinIVASinDscto,
                        SubtotalSinDscto       = SubtotalSinDscto,
                        Descuento              = Descuento,
                        SubtotalIVAConDscto    = SubtotalIVAConDscto,
                        SubtotalSinIVAConDscto = SubtotalSinIVAConDscto,
                        SubtotalConDscto       = SubtotalConDscto,
                        ValorIVA = ValorIVA,
                        Total    = Total
                    };

                    Context.com_ordencompra_local_resumen.Add(Entity_Resumen);

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
        public bool modificarDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = Context.com_ordencompra_local.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdSucursal == info.IdSucursal && q.IdOrdenCompra == info.IdOrdenCompra).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.IdComprador            = info.IdComprador;
                    Entity.IdDepartamento         = info.IdDepartamento;
                    Entity.Tipo                   = info.Tipo;
                    Entity.SecuenciaTipo          = info.SecuenciaTipo;
                    Entity.IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat;
                    Entity.IdEstado_cierre        = info.IdEstado_cierre;
                    Entity.IdProveedor            = info.IdProveedor;
                    Entity.IdSucursal             = info.IdSucursal;
                    Entity.IdTerminoPago          = info.IdTerminoPago;
                    Entity.oc_plazo               = info.oc_plazo;
                    Entity.oc_observacion         = info.oc_observacion;
                    Entity.oc_fecha               = info.oc_fecha;
                    Entity.oc_fechaVencimiento    = info.oc_fechaVencimiento;

                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;

                    var det = Context.com_ordencompra_local_det.Where(v => v.IdEmpresa == info.IdEmpresa && v.IdSucursal == info.IdSucursal && v.IdOrdenCompra == info.IdOrdenCompra);
                    Context.com_ordencompra_local_det.RemoveRange(det);
                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa       = info.IdEmpresa,
                            IdSucursal      = info.IdSucursal,
                            IdOrdenCompra   = info.IdOrdenCompra,
                            IdProducto      = item.IdProducto,
                            IdCod_Impuesto  = item.IdCod_Impuesto,
                            IdUnidadMedida  = item.IdUnidadMedida,
                            do_Cantidad     = item.do_Cantidad,
                            do_descuento    = item.do_descuento,
                            do_iva          = item.do_iva,
                            do_observacion  = item.do_observacion,
                            do_porc_des     = item.do_porc_des,
                            do_precioCompra = item.do_precioCompra,
                            do_precioFinal  = item.do_precioFinal,
                            do_subtotal     = item.do_subtotal,
                            do_total        = item.do_total,
                            Por_Iva         = item.Por_Iva,
                            Secuencia       = item.Secuencia
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "modificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
        public bool guardarDB(com_ordencompra_local_Info info)
        {
            try
            {
                using (Entities_compras Context = new Entities_compras())
                {
                    com_ordencompra_local Entity = new com_ordencompra_local
                    {
                        IdEmpresa              = info.IdEmpresa,
                        IdComprador            = info.IdComprador,
                        IdOrdenCompra          = info.IdOrdenCompra = get_id(info.IdEmpresa, info.IdSucursal),
                        IdDepartamento         = info.IdDepartamento,
                        IdEstadoAprobacion_cat = info.IdEstadoAprobacion_cat,
                        IdEstado_cierre        = info.IdEstado_cierre,
                        IdProveedor            = info.IdProveedor,
                        IdSucursal             = info.IdSucursal,
                        Tipo                = info.Tipo,
                        SecuenciaTipo       = info.SecuenciaTipo = get_id_by_tipo(info.IdEmpresa, info.IdSucursal, info.Tipo),
                        IdTerminoPago       = info.IdTerminoPago,
                        Estado              = "A",
                        oc_plazo            = info.oc_plazo,
                        oc_observacion      = info.oc_observacion,
                        oc_fecha            = info.oc_fecha,
                        oc_fechaVencimiento = info.oc_fechaVencimiento,

                        IdUsuario     = info.IdUsuario,
                        Fecha_Transac = DateTime.Now
                    };

                    Context.com_ordencompra_local.Add(Entity);

                    foreach (var item in info.lst_det)
                    {
                        com_ordencompra_local_det Entity_det = new com_ordencompra_local_det
                        {
                            IdEmpresa       = info.IdEmpresa,
                            IdOrdenCompra   = info.IdOrdenCompra,
                            IdSucursal      = info.IdSucursal,
                            IdProducto      = item.IdProducto,
                            IdCod_Impuesto  = item.IdCod_Impuesto,
                            IdUnidadMedida  = item.IdUnidadMedida,
                            do_Cantidad     = item.do_Cantidad,
                            do_descuento    = item.do_descuento,
                            do_iva          = item.do_iva,
                            do_observacion  = item.do_observacion,
                            do_porc_des     = item.do_porc_des,
                            do_precioCompra = item.do_precioCompra,
                            do_precioFinal  = item.do_precioFinal,
                            do_subtotal     = item.do_subtotal,
                            do_total        = item.do_total,
                            Por_Iva         = item.Por_Iva,
                            Secuencia       = item.Secuencia
                        };
                        Context.com_ordencompra_local_det.Add(Entity_det);
                    }
                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "com_ordencompra_local_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }