private void Impuesto_Guardar(string idItem, bool nuevo) { ImpuestoWCFClient objImpuestoWCF; List <gsImpuesto_ListarPorItemResult> lstImpuestos; try { if (nuevo) { objImpuestoWCF = new ImpuestoWCFClient(); lstImpuestos = objImpuestoWCF.Impuesto_ListarPorItem(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario, idItem, DateTime.Now.Date).ToList(); if (Session["lstImpuestos"] == null) { Session["lstImpuestos"] = lstImpuestos; } else { ((List <gsImpuesto_ListarPorItemResult>)Session["lstImpuestos"]).AddRange(lstImpuestos); } lstImpuestos = ((List <gsImpuesto_ListarPorItemResult>)Session["lstImpuestos"]); } } catch (Exception ex) { throw ex; } }
static void Pedido_Cargar(string idOrdenVenta, int idEmpresa, int codigoUsuario) { OrdenVentaWCFClient objOrdenVentaWCF = new OrdenVentaWCFClient(); gsOV_BuscarCabeceraResult objOrdenVentaCab; List <GlosaBE> lstGlosa = new List <GlosaBE>(); ImpuestoWCFClient objImpuestoWCF = new ImpuestoWCFClient(); gsOV_BuscarImpuestoResult[] lstImpuestos = null; List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>(); gsOV_BuscarDetalleResult[] objOrdenVentaDet = null; List <gsItem_BuscarResult> lstProductos = new List <gsItem_BuscarResult>(); bool? bloqueado = false; string mensajeBloqueo = null; AgendaWCFClient objAgendaWCFClient; AgendaWCF.VBG01134Result objAgendaCliente; decimal? lineaCredito = null; DateTime?fechaVecimiento = null; string strLETRAS = ""; try { objAgendaWCFClient = new AgendaWCFClient(); objAgendaCliente = new AgendaWCF.VBG01134Result(); //List<gsPedidos_FechasLetrasSelectResult> lstFechas = new List<gsPedidos_FechasLetrasSelectResult>(); objOrdenVentaCab = objOrdenVentaWCF.OrdenVenta_Buscar(idEmpresa, codigoUsuario, int.Parse(idOrdenVenta), ref objOrdenVentaDet, ref lstImpuestos, ref bloqueado, ref mensajeBloqueo); objAgendaCliente = objAgendaWCFClient.Agenda_BuscarCliente_Contado(idEmpresa, codigoUsuario, objOrdenVentaCab.ID_Agenda, ref lineaCredito, ref fechaVecimiento, (int)objOrdenVentaCab.ID_Moneda); List <GlosaBE> Impuesto_Obtener_R = new List <GlosaBE>(); gsPedidos_FechasLetrasSelectResult[] lstFechas = objOrdenVentaWCF.PedidoLetras_Detalle(idEmpresa, codigoUsuario, 0, int.Parse(idOrdenVenta)); strLETRAS = PedidosFechas_Letras(lstFechas.ToList(), (DateTime)objOrdenVentaCab.FechaEmision); objOrdenVentaWCF.OrdenVenta_Registrar_Contado(idEmpresa, 1, OrdenVenta_ObtenerCabecera(objOrdenVentaCab, idOrdenVenta, lstImpuestos, ref Impuesto_Obtener_R), OrdenVenta_ObtenerDetalle(objOrdenVentaCab, objOrdenVentaDet, idEmpresa, codigoUsuario).ToArray(), Impuesto_Obtener_R.ToArray(), decimal.Parse(idOrdenVenta), Math.Abs((decimal)lineaCredito), (DateTime)fechaVecimiento, lstFechas, strLETRAS); //string pedido = "Realizado."; } catch (Exception ex) { throw new ArgumentException(ex.Message, ex.TargetSite.Name + "No se pudo registrar el pedido en la base de datos."); } }
static List <gsOV_BuscarDetalleResult> OrdenVenta_ObtenerDetalle(gsOV_BuscarCabeceraResult objOrdenVentaCab_R, gsOV_BuscarDetalleResult[] objOrdenVentaDet, int idEmpresa, int codigoUsuario) { ImpuestoWCFClient objImpuestoWCF = new ImpuestoWCFClient(); gsOV_BuscarImpuestoResult[] lstImpuestos = null; List <gsOV_BuscarDetalleResult> lstPedidoDet; List <gsItem_BuscarResult> lstProductos = new List <gsItem_BuscarResult>(); // = (List<gsItem_BuscarResult>)Session["lstProductos"]; //List<gsItem_BuscarResult> lstProductosR = new List<gsItem_BuscarResult>(); gsOV_BuscarDetalleResult objProducto; List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>(); DateTime fecha; try { foreach (gsOV_BuscarDetalleResult objDetalle in objOrdenVentaDet) { gsItem_BuscarResult objItem = new gsItem_BuscarResult(); objItem.Codigo = objDetalle.ID_Item; objItem.Cantidad = Convert.ToInt32(objDetalle.Cantidad); objItem.DctoMax = objDetalle.DctoMax; objItem.Descuento = objDetalle.Dcto; objItem.ID_Moneda = objDetalle.ID_Moneda; objItem.ID_UnidadControl = objDetalle.ID_UnidadDoc; objItem.ID_UnidadInv = objDetalle.ID_UnidadInv; objItem.Importe = objDetalle.Importe; objItem.Item = objDetalle.Item; objItem.Item_ID = objDetalle.Item_ID; objItem.NombreMoneda = objDetalle.NombreMoneda; objItem.Observacion = objDetalle.Observaciones; objItem.Precio = objDetalle.Precio; objItem.PrecioInicial = objDetalle.PrecioMinimo; objItem.Signo = objDetalle.Signo; if (objOrdenVentaCab_R.Aprobacion1) { objItem.Stock = objDetalle.Stock + objDetalle.Cantidad; } else { objItem.Stock = objDetalle.Stock; } objItem.FactorUnidadInv = objDetalle.FactorUnidadInv; objItem.UnidadPresentacion = objDetalle.UnidadPresentacion; objItem.ID_Amarre = objDetalle.ID_Amarre; objItem.Estado = 1; objItem.CostoUnitario = objDetalle.CostoUnitario; lstImpuestoItem.AddRange(objImpuestoWCF.Impuesto_ListarPorItem(idEmpresa, codigoUsuario, objDetalle.ID_Item, DateTime.Now)); //ViewState["fecha"] = objOrdenVentaCab.FechaOrden; fecha = objOrdenVentaCab_R.FechaOrden; lstProductos.Add(objItem); } //Session["lstProductos"] = lstProductos; //Session["lstImpuestos"] = lstImpuestoItem; lstPedidoDet = new List <gsOV_BuscarDetalleResult>(); foreach (gsItem_BuscarResult producto in lstProductos) { objProducto = new gsOV_BuscarDetalleResult(); objProducto.ID_Amarre = producto.ID_Amarre; objProducto.TablaOrigen = "OV"; objProducto.ID_Item = producto.Codigo; objProducto.ID_ItemPedido = null; objProducto.Item_ID = producto.Item_ID; objProducto.Cantidad = producto.Cantidad; objProducto.Precio = producto.Precio; objProducto.Dcto = producto.Descuento; //objProducto.DctoValor = Math.Round(producto.Descuento * producto.Precio / 100, 2); objProducto.DctoValor = Math.Round(((producto.Descuento / 100)) * producto.Precio, 4); objProducto.Importe = producto.Importe; objProducto.ID_ItemAnexo = null; objProducto.ID_CCosto = null; objProducto.ID_UnidadGestion = null; objProducto.ID_UnidadProyecto = null; objProducto.ID_UnidadInv = producto.ID_UnidadInv; objProducto.FactorUnidadInv = producto.FactorUnidadInv; objProducto.CantidadUnidadInv = producto.Cantidad; // Consultar como se calcula realmente objProducto.ID_UnidadDoc = producto.ID_UnidadControl; objProducto.CantidadUnidadDoc = producto.Cantidad; // Consultar como se calcula realmente objProducto.Observaciones = producto.Observacion; objProducto.Estado = (int)producto.Estado; objProducto.Stock = producto.Stock; lstPedidoDet.Add(objProducto); } return(lstPedidoDet); } catch (Exception ex) { throw ex; } }
static void Pedido_Cargar(string idOrdenVenta, int idEmpresa, int codigoUsuario) { OrdenVentaWCFClient objOrdenVentaWCF = new OrdenVentaWCFClient();; gsOV_BuscarCabeceraResult objOrdenVentaCab; List <GlosaBE> lstGlosa = new List <GlosaBE>(); ImpuestoWCFClient objImpuestoWCF = new ImpuestoWCFClient(); gsOV_BuscarImpuestoResult[] lstImpuestos = null; List <gsImpuesto_ListarPorItemResult> lstImpuestoItem = new List <gsImpuesto_ListarPorItemResult>(); gsOV_BuscarDetalleResult[] objOrdenVentaDet = null; List <gsItem_BuscarResult> lstProductos = new List <gsItem_BuscarResult>(); bool? bloqueado = false; string mensajeBloqueo = null; AgendaWCFClient objAgendaWCFClient; AgendaWCF.VBG01134Result objAgendaCliente; decimal? lineaCredito = null; DateTime?fechaVecimiento = null; string strLETRAS = ""; decimal? TC = 0; try { objAgendaWCFClient = new AgendaWCFClient(); objAgendaCliente = new AgendaWCF.VBG01134Result(); objOrdenVentaCab = objOrdenVentaWCF.OrdenVenta_Buscar(idEmpresa, codigoUsuario, int.Parse(idOrdenVenta), ref objOrdenVentaDet, ref lstImpuestos, ref bloqueado, ref mensajeBloqueo); objAgendaCliente = objAgendaWCFClient.Agenda_BuscarCliente(idEmpresa, codigoUsuario, objOrdenVentaCab.ID_Agenda, ref lineaCredito, ref fechaVecimiento, ref TC); List <GlosaBE> Impuesto_Obtener_R = new List <GlosaBE>(); gsPedidos_FechasLetrasSelectResult[] lstFechas = objOrdenVentaWCF.PedidoLetras_Detalle(idEmpresa, codigoUsuario, 0, int.Parse(idOrdenVenta)); strLETRAS = PedidosFechas_Letras(lstFechas.ToList(), (DateTime)objOrdenVentaCab.FechaEmision); //----------------------------------------------------------- gsOV_BuscarCabeceraResult cabecera = OrdenVenta_ObtenerCabecera(objOrdenVentaCab, idOrdenVenta, lstImpuestos, ref Impuesto_Obtener_R); gsOV_BuscarDetalleResult[] detalle = OrdenVenta_ObtenerDetalle(objOrdenVentaCab, objOrdenVentaDet, idEmpresa, codigoUsuario).ToArray(); int KardexFlete = 0; List <gsOV_BuscarDetalleResult> kardex = new List <gsOV_BuscarDetalleResult>(); gsOV_BuscarDetalleResult objetoFlete = new gsOV_BuscarDetalleResult(); kardex = detalle.ToList().FindAll(x => x.Item.Contains("Flete") && x.Estado == 1).ToList(); if (kardex.Count > 0) { KardexFlete = Convert.ToInt32(kardex[0].Item_ID); //----------------------------------------------------------- if (KardexFlete > 0) { objetoFlete = detalle.ToList().Find(x => x.Item_ID == KardexFlete && x.Estado == 1); } } // ---------------------------------------------------------- objOrdenVentaWCF.OrdenVenta_Registrar(idEmpresa, 1, cabecera, detalle, Impuesto_Obtener_R.ToArray(), decimal.Parse(idOrdenVenta), (decimal)lineaCredito, (DateTime)fechaVecimiento, lstFechas, strLETRAS, KardexFlete, objetoFlete); //objOrdenVentaWCF.OrdenVenta_Registrar(codEmpresa, codUsuario, cabecera, detalle, impuesto, idPedido, LineaCredito, // dtFechaVencimiento, fechas, PlanLetras, KardexFlete, objetoFlete); //string pedido = "Realizado."; } catch (Exception ex) { throw new ArgumentException(ex.Message, ex.TargetSite.Name + "No se pudo registrar el pedido en la base de datos."); } }