示例#1
0
        public RequestHTTP finalizarPresupuesto(JObject cabydet)
        {
            var req = new RequestHTTP();

            try
            {
                var     jCabecera = (JObject)cabydet["cabecera"];
                int     punto = (int)jCabecera["punto"], empresaid = (int)jCabecera["empresa"];
                var     jDetalle = cabydet["lista"];
                decimal bonifcli = (decimal)cabydet["bonifcli"];

                presupc        cabecera = armarCabecera(jCabecera, bonifcli);
                List <presupd> detalle  = armarDetalle(jDetalle, cabecera, bonifcli);
                using (GestionEntities bd = new GestionEntities())
                {
                    bd.presupc.Add(cabecera);
                    foreach (presupd p in detalle)
                    {
                        bd.presupd.Add(p);
                    }
                    var factu = bd.factura.Single(a => a.PUNTO == punto && a.EmpresaId == empresaid);
                    bd.factura.Attach(factu);
                    factu.PRESUP++;
                    if (!Convert.ToBoolean(bd.SaveChanges()))
                    {
                        throw new Exception();
                    }
                    req.objeto = new compi(cabecera.numero, cabecera.punto, cabecera.tipodoc, cabecera.letra, cabecera.id);
                    return(req);
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                StreamWriter sw = new StreamWriter("C:/Users/usuario/Desktop/error.txt");

                //Close the file

                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        sw.WriteLine("Property:" + validationError.PropertyName + " Error:" + validationError.ErrorMessage);
                    }
                }

                sw.Close();
                return(req.falla(new Exception()));
            }
        }
示例#2
0
        //finalizar presupuesto
        private List <presupd> armarDetalle(JToken lista, presupc cabecera, decimal bonifcli)
        {
            stocks         p, item;
            List <presupd> detalles  = new List <presupd>();
            int            empresaid = cabecera.empresa;

            for (int i = 0; i < lista.ToArray().Count(); i++)
            {
                if (lista[i]["asociado"].ToString().Contains("["))
                {
                    lista[i]["asociado"] = "";
                }
                p    = JsonConvert.DeserializeObject <stocks>(lista[i].ToString());
                item = new stocks(p.cantidad, p.precioVenta, p.bonif, p.bonif1, p.impint, p.codpro, p.asociado, bonifcli, new DateTime(2019, 01, 01), p.detalle, empresaid);
                detalles.Add(new presupd(item, cabecera, i + 1));
            }
            return(detalles);
        }
示例#3
0
        public presupd(stocks stock, presupc cabecera, int numerador)
        {
            var m = new MiProvee();

            try
            {
                int            id;
                List <artasoc> artasoc;
                decimal        cotInicio;
                using (GestionEntities bd = new GestionEntities())
                {
                    cotInicio       = bd.monedas.Single(a => a.codigo == stock.moneda).ncotiza;
                    this.cotizacion = bd.monedas.Single(a => a.codigo == cabecera.monfac).ncotiza;//configen.GetConfigen().GnCotizaCl;//arregalar
                    artasoc         = bd.artasoc.Where(a => a.codpro == stock.codpro && a.componen == stock.asociado).ToList();
                    if (bd.presupd.Count() > 0)
                    {
                        id = bd.presupd.ToArray().Last().id;
                    }
                    else
                    {
                        id = 0;
                    }

                    if (artasoc.Count == 0)
                    {
                        this.canasoc = 0;
                    }
                    else
                    {
                        this.canasoc = artasoc.First().cantid *stock.cantidad;
                    }
                }

                this.id         = id;
                this.cabeceraid = cabecera.id;
                this.fecha      = DateTime.Now;
                this.hora       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
                this.tipodoc    = cabecera.tipodoc;
                this.letra      = cabecera.letra;
                this.punto      = cabecera.punto;
                this.numero     = cabecera.numero;
                this.remito     = cabecera.remito;
                this.codpro     = stock.codpro;
                this.descri     = stock.descri;
                this.cant       = stock.cantidad;
                this.precio     = stock.precioVenta;
                this.bonif      = stock.bonif;
                this.bonif1     = stock.bonif1;
                this.prexcant   = (this.precio * this.cant) - this.precio * this.cant * stock.bonif / 100 - this.precio * this.cant * stock.bonif1 / 100;
                this.ivartins   = stock.getIvaIGeneral(ControladorTotales.getCTotales().getIvaTasaGral());
                this.ivartinoi  = stock.getIvaIDif(ControladorTotales.getCTotales().getIvaTasaGral());
                this.bonito     = stock.getBonifTotal();
                this.nrocli     = cabecera.nrocli;
                this.asociado   = stock.asociado;
                this.cantenv    = stock.cantenv;
                this.pedido     = 0;                      //arregalar
                this.despacho   = "";                     //arregalar
                this.envase     = stock.simboloEnvase;    //arregalar;

                this.unimed    = stock.unimed.ToString(); //arregalar
                this.pins      = 21;                      //arregalar
                this.pnoi      = 0;                       //arregalar
                this.deta      = "";                      //arregalar
                this.aprobados = 0;                       //arregalar
                this.detalle   = stock.detalle;
                this.impint    = stock.impint;
                this.precorig  = 0;//arregalar
                this.ivaporc1  = stock.getIvaGral(ControladorTotales.getCTotales().getIvaTasaGral());
                this.ivaporc2  = stock.getIvaDif(ControladorTotales.getCTotales().getIvaTasaGral());
                this.moneda    = cabecera.monfac;
                this.costo     = stock.costo * stock.cantidad * (cotInicio / this.cotizacion);
                this.simbolo   = cabecera.simbolo.Substring(0, 2);
            }
            catch (Exception)
            {
            }
        }