예제 #1
0
        public bool GuardarBD(Proveedor_Info info)
        {
            try
            {
                using (EntitiesGeneral db = new EntitiesGeneral())
                {
                    db.Proveedor.Add(new Proveedor
                    {
                        Tipo           = info.Tipo,
                        Codigo         = info.Codigo,
                        Nombre         = info.Nombre,
                        Ruc            = info.Ruc,
                        ConceptoCompra = info.ConceptoCompra
                    });

                    //detalle
                    if (info.ListaProveedorProductoDetalle != null)
                    {
                        int Secuencia = 1;
                        foreach (var item in info.ListaProveedorProductoDetalle)
                        {
                            db.ProveedorProducto.Add(new ProveedorProducto
                            {
                                Tipo       = info.Tipo,
                                Codigo     = info.Codigo,
                                Secuencia  = Secuencia++,
                                IdProducto = item.IdProducto
                            });
                        }
                    }
                    db.SaveChanges();
                }

                using (EntitiesNexpirion db_nx = new EntitiesNexpirion())
                {
                    db_nx.FX_ProveedorMigrado.Add(new FX_ProveedorMigrado
                    {
                        Tipo   = info.Tipo,
                        Codigo = info.Codigo,
                        Nombre = info.Nombre,
                        Ruc    = info.Ruc
                    });

                    db_nx.SaveChanges();
                }

                return(true);
            }
            catch (Exception EX)
            {
                data_log.GuardarDB(new LogError_Info
                {
                    Controlador = "Proveedor_Data",
                    Error       = "Error: " + EX.ToString() + " " + string.Format("GuardarBD: {0}", JsonConvert.SerializeObject(info)),
                    IdUsuario   = ""
                });
                return(false);
            }
        }
예제 #2
0
        public bool GuardarOrdenCompraBD(Compra_Info info)
        {
            try
            {
                using (EntitiesNexpirion db = new EntitiesNexpirion())
                {
                    db.SetCommandTimeOut(3000);
                    if (db.indocume.Where(q => q.num_recibo == info.Codigo && q.eliminado == false && q.fecha == info.Fecha).Count() > 0)
                    {
                        return(true);
                    }

                    var info_producto = data_producto.get_info_ProductoNexp(info.CodProducto.ToString().Trim());
                    if (info_producto == null)
                    {
                        return(true);
                    }
                    var info_proveedor_nx = data_proveedor.get_info_ProveedorNexp(info.ProvCodigo.ToString().Trim());
                    if (info_proveedor_nx == null)
                    {
                        return(true);
                    }
                    var info_proveedor = data_proveedor.get_info("PRV", info.ProvCodigo.ToString().Trim());
                    if (info_proveedor == null)
                    {
                        return(true);
                    }
                    var info_bodega = data_producto.get_info_BodegaNexp(info.CodProducto.ToString().Trim());
                    if (info_bodega == null)
                    {
                        return(true);
                    }
                    var      nombre     = info_producto.nombre.ToString().Substring(0, 59);
                    dbultnum entity     = db.dbultnum.Where(q => q.tipo == "CO").FirstOrDefault();
                    var      num_compra = entity.numero + 1;

                    db.indocume.Add(new indocume
                    {
                        tipo        = "CO",
                        numero      = num_compra,
                        pedido      = 0,
                        fecha       = info.Fecha,
                        fecha_fac   = info.Fecha,
                        fecha_com   = info.Fecha,
                        producto    = info_producto.codigo,
                        nombre      = nombre,
                        cantidad    = Convert.ToDecimal(info.Cantidad),
                        proveedor   = info_proveedor_nx.codigo,
                        concepto    = info_proveedor.ConceptoCompra,
                        plazo       = 0,
                        porc_desc   = 0,
                        factor      = 0,
                        total       = Convert.ToDecimal(info.Total),
                        costo       = Convert.ToDecimal(info.Precio),
                        fob         = 0,
                        orden       = "",
                        comentario  = info.Comentario,
                        tip_aplic   = "",
                        num_aplic   = 0,
                        tip_aplix   = "",
                        num_aplix   = 0,
                        bloqueado   = false,
                        aprobado    = false,
                        usuario     = "",
                        digitado    = DateTime.Now.Date,
                        fecha_apr   = DateTime.Now.Date,
                        cantidad_op = 0,
                        impreso     = false,
                        eliminado   = false,
                        bodega_int  = info_bodega.bodega_int,
                        bodega_orig = "",
                        solicita    = false,
                        aceptado    = false,
                        fecha_soli  = DateTime.Now.Date,
                        fecha_recep = DateTime.Now.Date,
                        fecha_acep  = DateTime.Now.Date,
                        recibido    = false,
                        lote        = "",
                        num_recibo  = Convert.ToDecimal(info.Codigo).ToString(),
                        usr_agr     = "",
                        usr_cor     = "",
                        centro      = ""
                    });

                    db.fcmovinv.Add(new fcmovinv
                    {
                        tipo       = "CO",
                        numero     = num_compra,
                        numreg     = 1,
                        fecha      = info.Fecha,
                        producto   = info_producto.codigo,
                        nombre     = nombre,
                        bodega     = "",
                        fra        = Convert.ToDecimal(info.Precio),
                        peso       = info_producto.peso,
                        und        = Convert.ToDecimal(info.Cantidad),
                        cantidad   = Convert.ToDecimal(info.Cantidad),
                        stock      = 0,
                        tip_ped    = "",
                        pedido     = 0,
                        tipreg     = 1,
                        descuento  = 0,
                        precio_vta = Convert.ToDecimal(info.Precio),
                        precio_lst = Convert.ToDecimal(info.Precio),
                        subtotal   = Convert.ToDecimal(info.Total),
                        costo_und  = Convert.ToDecimal(info.Precio),
                        costo      = Convert.ToDecimal(info.Precio),
                        promedio   = 0,
                        tip_prec   = 0,
                        tip_produc = info_producto.tipoitm,
                        porc_desc  = 0,
                        sucursal   = "",
                        cliente    = "",
                        vendedor   = "",
                        servicio   = false,
                        ubicacion  = "",
                        motivo     = "",
                        eliminado  = false,
                        usuario    = "",
                        digitado   = DateTime.Now.Date,
                        concepto   = "",
                        comentario = info.Comentario,
                        bodega_int = info_bodega.bodega_int,
                        lote       = "",
                        usr_agr    = "",
                        usr_cor    = ""
                    });

                    entity.numero = num_compra;

                    db.SaveChanges();
                }
                return(true);
            }
            catch (Exception EX)
            {
                data_log.GuardarDB(new LogError_Info
                {
                    Controlador = "GenerarOrdenCompra",
                    Error       = "Error: " + EX.ToString() + " " + string.Format("Compra: {0}", JsonConvert.SerializeObject(info)),
                    IdUsuario   = info.IdUsuario
                });
                return(false);
            }
        }
예제 #3
0
        public bool ModificarBD(Proveedor_Info info)
        {
            try
            {
                using (EntitiesGeneral db = new EntitiesGeneral())
                {
                    Proveedor entity = db.Proveedor.Where(q => q.Tipo == info.Tipo && q.Codigo == info.Codigo).FirstOrDefault();

                    if (entity == null)
                    {
                        return(false);
                    }

                    entity.Tipo           = info.Tipo;
                    entity.Codigo         = info.Codigo;
                    entity.Ruc            = info.Ruc;
                    entity.ConceptoCompra = info.ConceptoCompra;

                    var lst_detalle = db.ProveedorProducto.Where(q => q.Tipo == info.Tipo && q.Codigo == info.Codigo).ToList();
                    db.ProveedorProducto.RemoveRange(lst_detalle);

                    if (info.ListaProveedorProductoDetalle != null)
                    {
                        int Secuencia = 1;

                        foreach (var item in info.ListaProveedorProductoDetalle)
                        {
                            db.ProveedorProducto.Add(new ProveedorProducto
                            {
                                Tipo       = info.Tipo,
                                Codigo     = info.Codigo,
                                Secuencia  = Secuencia++,
                                IdProducto = item.IdProducto
                            });
                        }
                    }
                    db.SaveChanges();
                }

                using (EntitiesNexpirion db_nx = new EntitiesNexpirion())
                {
                    FX_ProveedorMigrado entity_nx = db_nx.FX_ProveedorMigrado.Where(q => q.Tipo == info.Tipo && q.Codigo == info.Codigo).FirstOrDefault();

                    if (entity_nx == null)
                    {
                        return(false);
                    }

                    entity_nx.Tipo   = info.Tipo;
                    entity_nx.Codigo = info.Codigo;
                    entity_nx.Ruc    = info.Ruc;

                    db_nx.SaveChanges();
                }

                return(true);
            }
            catch (Exception EX)
            {
                data_log.GuardarDB(new LogError_Info
                {
                    Controlador = "Proveedor_Data",
                    Error       = "Error: " + EX.ToString() + " " + string.Format("Modificar: {0}", JsonConvert.SerializeObject(info)),
                    IdUsuario   = ""
                });
                return(false);
            }
        }