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)); } }
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); }
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()); }
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); }