Exemple #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));
            }
        }
Exemple #2
0
        private PedidoCab armaCabecera(JObject jCabecera, decimal bonifcli)
        {
            decimal nroped;
            double  vence;
            int     provin, jPunto, jEmpresa, jSucursal, jViaid, jLocali, jNrocli, jTipoDocId, jCondPago, id, jUsuarioId;
            string  sucursal, via, jProvin, localidad, codpos, monfac, usuario, jNotaVenta, presup = "";

            jPunto     = (int)jCabecera["punto"];
            jEmpresa   = (int)jCabecera["empresa"];
            jSucursal  = (int)jCabecera["sucursal"];
            jViaid     = (int)jCabecera["viaid"];
            jProvin    = (string)jCabecera["provin"];
            usuario    = jCabecera["usuario"].ToString();
            jNrocli    = (int)jCabecera["nrocli"];
            jTipoDocId = 1007;//(int)jCabecera["tipodocid"];
            jCondPago  = (int)jCabecera["condicion"];
            jUsuarioId = (int)jCabecera["usuarioid"];
            jNotaVenta = jCabecera["notavta"].ToString();
            monfac     = jCabecera["monfac"].ToString();

            using (GestionEntities bd = new GestionEntities())
            {//recibe parametros y busca el nombre o id
                jLocali   = bd.cliente.Single(a => a.nrocli == jNrocli).locali;
                nroped    = bd.factura.Single(a => a.PUNTO == jPunto && a.EmpresaId == jEmpresa).PEDIDO;
                provin    = bd.provincias.Single(a => a.nombre == jProvin).id;
                sucursal  = bd.sucursal.Single(a => a.id == jSucursal).sucursal1;
                via       = bd.via.Single(a => a.id == jViaid).via1;
                localidad = bd.localidades.Single(a => a.id == jLocali).nombre;
                codpos    = bd.cliente.Single(a => a.nrocli == jNrocli).codpos;
                vence     = Convert.ToDouble(bd.condpago.Single(a => a.codigo == jCondPago).dias);
                if (bd.PedidoCab.Count() > 0)
                {
                    id = bd.PedidoCab.ToList().Last().id + 1;
                }
                else
                {
                    id = 1;
                }
            }
            DateTime parafecha      = Convert.ToDateTime(jCabecera["parafecha"].ToString()); //transformacion de DateTime 2 a Datetime porque no reconoce
            DateTime pfe            = Convert.ToDateTime(parafecha.ToString("dd/MM/yyyy"));
            var      cabeceraPedido = new PedidoCab((int)jCabecera["empresa"], jTipoDocId, (int)jCabecera["punto"], "PD",
                                                    "X", Convert.ToDateTime(jCabecera["fechai"]), (int)jCabecera["nrocli"], (string)jCabecera["razsoc"],
                                                    (int)jCabecera["codven"], (int)jCabecera["condicion"], via, (int)jCabecera["viaid"], (int)jCabecera["sucursal"],
                                                    sucursal, usuario, jUsuarioId, (decimal)jCabecera["neto"],
                                                    (decimal)jCabecera["exento"], (decimal)jCabecera["bonitot"], (decimal)jCabecera["ivai"], (decimal)jCabecera["ivaidif"],
                                                    (decimal)jCabecera["impint"], (decimal)jCabecera["percib"], (decimal)jCabecera["total"], (int)jCabecera["transpo"],
                                                    vence, 0, 0, (string)jCabecera["direcc"], localidad, codpos, provin,
                                                    jLocali, jCabecera["observa"].ToString(), pfe, (int)jCabecera["cond_vta"], "PAG.WEB", nroped, monfac, id, bonifcli, presup);

            if (presup != "") //boniftot bultos codpos facturado id kilos letra nroped nrotran puestotra tipodoc ntavta
            {
                //cComprobante.getControladorPresup().actualizarNroPed(,cabeceraPedido.id);
            }
            return(cabeceraPedido);
        }
Exemple #3
0
        public PedidoDet(stocks stock, PedidoCab cabecera, int item)
        {
            List <artasoc> artasoc;

            using (GestionEntities bd = new GestionEntities())
                artasoc = bd.artasoc.Where(a => a.codpro == stock.codpro && a.componen == stock.asociado).ToList();
            if (artasoc.Count == 0)
            {
                this.canasoc = 0;
            }
            else
            {
                this.canasoc = Convert.ToInt32(artasoc.First().cantid *stock.cantidad);
            }

            this.cabeceraid = cabecera.id;
            this.item       = Convert.ToInt16(item);
            this.articulo   = stock.codpro;
            this.descri     = stock.descri;
            this.cantidad   = stock.cantidad;
            this.parafecha  = stock.parafecha;
            this.pendientes = stock.cantidad;
            this.preparado  = 0;
            this.precio     = stock.precioVenta;
            this.precorig   = 0;//rrrrrrrrrrrr
            this.bonif      = stock.bonif;
            this.bonif1     = stock.bonif1;
            this.total      = (this.precio * this.cantidad) + impint - this.precio * this.cantidad * stock.bonif / 100 - this.precio * this.cantidad * stock.bonif1 / 100;
            this.impint     = stock.impint;
            this.orden      = 0;//aaaaaaaaaaa
            this.marca      = stock.marca;
            this.rubro      = stock.rubro;
            this.nropro     = stock.proveed;
            this.asociado   = stock.asociado;
            this.detalle    = stock.detalle;//aaaaa
            this.precioesp  = 0;
            this.envase     = stock.envase;
            this.unimed     = stock.unimed;
            this.moneda     = cabecera.monfac;
            this.ivaporc1   = Convert.ToDecimal(stock.iva);
            this.ivaporc2   = 0;
            this.deta       = "";
            this.listo      = false;
            this.codorigi   = "";
            this.uxbulto    = stock.uxbulto;
            this.costoest   = 0;
            this.bajostk    = false;
            this.impiva1    = stock.getIvaIGeneral(ControladorTotales.getCTotales().getIvaTasaGral());
            this.impiva2    = stock.getIvaIDif(ControladorTotales.getCTotales().getIvaTasaGral());
        }
Exemple #4
0
        private List <PedidoDet> armaDetalle(PedidoCab cabecera, JToken lista, decimal bonifcli)
        {
            stocks           p, item;
            DateTime         parafecha = new DateTime();
            List <PedidoDet> detalles  = new List <PedidoDet>();
            int empresa = cabecera.empresaid;

            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());
                parafecha = Convert.ToDateTime(lista[i]["parafecha"].ToString());
                string   itemDetalle = lista[i]["detalle"].ToString();
                DateTime pfe         = Convert.ToDateTime(parafecha.ToString("dd/MM/yyyy"));
                item = new stocks(p.cantidad, p.precioVenta, p.bonif, p.bonif1, p.impint, p.codpro, p.asociado, bonifcli, pfe, itemDetalle, empresa);
                detalles.Add(new PedidoDet(item, cabecera, i + 1));
            }
            return(detalles);
        }