Esempio n. 1
0
        public RequestHTTP finalizarPedido(JObject jCabYDet)
        {
            var req = new RequestHTTP();

            try
            {
                var jCabecera             = (JObject)jCabYDet["cabecera"];
                int punto                 = (int)jCabecera["punto"],
                    empresa               = (int)jCabecera["empresa"];
                decimal          bonifcli = (decimal)jCabYDet["bonifcli"];
                PedidoCab        cabecera = armaCabecera(jCabecera, bonifcli);
                List <PedidoDet> detalles = armaDetalle(cabecera, jCabYDet["lista"], bonifcli);
                using (GestionEntities bd = new GestionEntities())
                {
                    bd.PedidoCab.Add(cabecera);
                    foreach (var p in detalles)
                    {
                        bd.PedidoDet.Add(p);
                    }
                    factura fac = bd.factura.Single(a => a.PUNTO == punto && a.EmpresaId == empresa);
                    bd.factura.Attach(fac);
                    fac.PEDIDO++;
                    bd.SaveChanges();
                    req.objeto = new compi(cabecera.nroped, cabecera.punto, cabecera.tipodoc, cabecera.letra, cabecera.id);

                    return(req);
                }
            }
            catch (Exception e)
            {
                return(req.falla(e));
            }
        }
Esempio n. 2
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()));
            }
        }