public JsonResult guardarCliente(clientemodel model) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ClienteResponse() }, JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var response = servicio.guardarCliente(new ClienteRequest { Direccion = model.Direccion, IdCliente = model.IdCliente, IdEstatus = model.IdEstatus, IdRol = (model.IdRol != 0) ? model.IdRol : 2, Nombre = model.Nombre, Password = Encoding.UTF8.GetBytes(model.password ?? string.Empty), Telefono = model.Telefono, UserName = model.usuario, Foto = Encoding.UTF8.GetBytes(model.Nombre), ZonaPaqueteria = model.ZonaPaqueteria }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public JsonResult agregarProducto(ItemCarritomodel model) { ClienteClient servicio = new ClienteClient(); AdministradorClient admin = new AdministradorClient(); var _carrito = (Session["carritos"] as Dictionary <int, int?>)[model.IdTipo]; var _producto = admin.cargarProducto(new ProductoRequest { Id = model.IdProducto }); if (!_carrito.HasValue) { CarritoResponse _nuevoCarrito = servicio.nuevoCarrito(new CarritoRequest { IdTipo = model.IdTipo, Fecha = DateTime.Today, IdCliente = (Session["usuario"] as loginmodel).usrguid, IdEstatus = 6, IdPaqueteria = 7 }); (Session["carritos"] as Dictionary <int, int?>)[model.IdTipo] = _nuevoCarrito.Folio; } var _agregado = servicio.agregarACarrito(new ItemCarritoRequest { IdNota = (Session["carritos"] as Dictionary <int, int?>)[model.IdTipo].Value, Id = model.Id, IdProducto = model.IdProducto, PrecioMXN = _producto.PrecioMXN, PrecioUSD = _producto.PrecioUSD, Cantidad = model.Cantidad }); return(Json(new { data = _agregado }, JsonRequestBehavior.AllowGet)); }
public ActionResult guardarPerfil(clientemodel modelo) { if (Session["usuario"] == null) { Session.Clear(); } AdministradorClient admin = new AdministradorClient(); var resultado = admin.cargarCliente(new ClienteRequest { IdCliente = (Session["usuario"] as loginmodel).usrguid }); var response = admin.guardarCliente(new ClienteRequest { Direccion = resultado.Direccion, ExtensionData = null, Foto = resultado.Foto, IdCliente = resultado.IdCliente, IdEstatus = resultado.IdEstatus, IdRol = resultado.IdRol, Nombre = resultado.Nombre, Password = resultado.Password, Telefono = resultado.Telefono, UserName = resultado.UserName, ZonaPaqueteria = modelo.ZonaPaqueteria }); return(RedirectToAction("Perfil")); }
public ActionResult Configuracion() { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } var servicio = new AdministradorClient(); var response = servicio.listarCatalogo(new CatalogoRequest { Id = 0, IdTipoCatalogo = 0 }); var resultado = new listacatalogoModel(); resultado.Items.AddRange(response.Items.Select(i => new catalogoModel { Id = i.Id, IdTipoCatalogo = i.IdTipoCatalogo, Nombre = i.Nombre, Tabla = "CATÁLOGO" })); var response2 = servicio.listarEstatus(new EstatusRequest { Id = 0, IdTipoEstatus = 0 }); resultado.Items.AddRange(response2.Items.Select(i => new catalogoModel { Id = i.Id, IdTipoCatalogo = i.IdTipoEstatus, Nombre = i.Nombre, Tabla = "ESTÁTUS" })); return(View(resultado)); }
public JsonResult eliminarNota(notaModel model) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ClienteResponse() }, JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var response = servicio.bajaNota(new NotaRequest { Fecha = model.Fecha, FechaEnvio = model.FechaEnvio, Folio = model.Folio, Guia = model.Guia, IdCliente = model.IdCliente, IdEstatus = model.IdEstatus, IdPaqueteria = model.IdPaqueteria, IdTipo = model.IdTipo, MontoMXN = model.MontoMXN, MontoUSD = model.MontoUSD, SaldoMXN = model.SaldoMXN, SaldoUSD = model.SaldoUSD }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public JsonResult guardarProducto(productomodel model, HttpPostedFileBase imgArch) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ProductoResponse() }, JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var archivo = Request.Files[0]; if (archivo != null && archivo.ContentLength > 0) { string _nomArch = Path.GetFileName(archivo.FileName); string _ruta = Path.Combine(Server.MapPath("~/Content/productos"), _nomArch); archivo.SaveAs(_ruta); } var response = servicio.guardarProducto(new ProductoRequest { AplicaExistencias = model.AplicaExistencias, Descripcion = model.Descripcion, Existencias = model.Existencias, Id = model.Id, IdCategoria = model.IdCategoria, Nombre = model.Nombre, PrecioMXN = model.PrecioMXN, IdEstatus = model.IdEstatus, PrecioUSD = model.PrecioUSD, Foto = !string.IsNullOrEmpty(archivo.FileName) ? Encoding.UTF8.GetBytes(archivo.FileName) : null, SKU = model.Sku, IdTipo = model.IdTipo }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Comentarios(int folio) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } var servicio = new AdministradorClient(); var listacomentarios = new Models.listaComentariosmodel(); var response = servicio.listarComentarioNota(new NotaComentarioRequest { IdNota = folio }); listacomentarios.Items.AddRange(response.Items.Where(i => i.IdComentarioAnterior == 0).Select(i => new Comentariomodel { Id = (i.IdComentarioAnterior == 0) ? i.Id : i.IdComentarioAnterior, Fecha = i.Fecha, FolioNota = i.IdNota, Mensaje = i.Comentario, IdPadre = i.IdComentarioAnterior }).OrderBy(i => i.Id)); foreach (var item in listacomentarios.Items) { item.Items = new System.Collections.Generic.List <Comentariomodel>(); item.Items.AddRange(response.Items.Where(i => i.IdComentarioAnterior == item.Id).Select(i => new Comentariomodel { Id = (i.IdComentarioAnterior == 0) ? i.Id : i.IdComentarioAnterior, Fecha = i.Fecha, FolioNota = i.IdNota, Mensaje = i.Comentario, IdPadre = (i.IdComentarioAnterior == 0) ? i.IdComentarioAnterior : i.Id }).OrderBy(i => i.Id)); } return(View(listacomentarios)); }
public ActionResult Login(string NumDocumento, string Contrasenia, string TipoCuenta) { try { object usuarioObject = null; if (TipoCuenta == "Cliente" || TipoCuenta == "Duenio")//Autenticación REST { usuarioObject = (new RestClient <UsuarioDOM>().GET(ServiceRest.GestionarCredencialService + "Usuario.svc/UsuarioAutenticar/" + NumDocumento + "/" + Contrasenia).GetAwaiter().GetResult()); } else if (TipoCuenta == "Administrador")//Autenticación SOAP { usuarioObject = new AdministradorClient().Autenticar(NumDocumento, Contrasenia); } System.Web.HttpContext.Current.Session["SessionUsuario"] = usuarioObject ?? throw new System.Exception("Usuario o contraseña incorrectas"); System.Web.HttpContext.Current.Session["SessionIsAuthenticated"] = true; return(Json(new { status = true }, JsonRequestBehavior.AllowGet)); } catch (FaultException <RepetidoException> error) { return(Json(new { status = false, value = error.Detail.Descripcion }, JsonRequestBehavior.AllowGet)); } catch (System.Exception ex) { return(Json(new { status = false, value = ex.Message }, JsonRequestBehavior.AllowGet)); } }
private CarritoCompletoModel detalleNota(int id) { ClienteClient servicio = new ClienteClient(); AdministradorClient servicioAdmin = new AdministradorClient(); CarritoResponse response = servicio.verPedido(new CarritoRequest { Folio = id }); var responseCarrito = servicio.listarPedidos(new CarritoRequest { Folio = id, //IdEstatus = 6, IdCliente = (Session["usuario"] as loginmodel).usrguid }).Items.FirstOrDefault(i => i.Folio == id); var responseTipos = servicioAdmin.listarCatalogo(new CatalogoRequest { Id = 0, IdTipoCatalogo = 0 }); var responseEstatus = servicioAdmin.listarEstatus(new EstatusRequest { Id = 0, IdTipoEstatus = 0 }); var productos = servicioAdmin.listarProductos(new ProductoRequest { Id = 0 }); var responseCatalogo = servicioAdmin.listarCatalogo(new CatalogoRequest { Id = 0 }); CarritoCompletoModel model = new CarritoCompletoModel { Cliente = responseCarrito.IdCliente.ToString(), Estatus = (responseCarrito.IdEstatus != 0) ? responseEstatus.Items.FirstOrDefault(e => e.Id == responseCarrito.IdEstatus).Nombre : string.Empty, Fecha = responseCarrito.Fecha, FechaEnvio = responseCarrito.FechaEnvio, Folio = responseCarrito.Folio, Guia = string.IsNullOrEmpty(response.Guia) ? string.Empty : response.Guia, IdCliente = responseCarrito.IdCliente, IdEstatus = responseCarrito.IdEstatus, IdPaqueteria = responseCarrito.IdPaqueteria, IdTipo = responseCarrito.IdTipo, MontoMXN = responseCarrito.MontoMXN, MontoUSD = responseCarrito.MontoUSD, Paqueteria = (responseCarrito.IdPaqueteria != 0) ? responseCatalogo.Items.FirstOrDefault(c => c.Id == responseCarrito.IdPaqueteria).Nombre : string.Empty, SaldoMXN = responseCarrito.SaldoMXN, SaldoUSD = responseCarrito.SaldoUSD, Tipo = (responseCarrito.IdTipo != 0) ? responseTipos.Items.FirstOrDefault(t => t.Id == responseCarrito.IdTipo).Nombre : string.Empty }; model.Items.AddRange(response.Items.Select(i => new detallenotaModel { Cantidad = i.Cantidad, Id = i.Id, IdNota = i.IdNota, IdProducto = i.IdProducto, PrecioMXN = i.PrecioMXN, PrecioUSD = i.PrecioUSD, Producto = productos.Items.FirstOrDefault(p => p.Id == i.IdProducto).Nombre })); return(model); }
public ActionResult Productos(int idTipo) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } AdministradorClient servicio = new AdministradorClient(); var response = servicio.listarProductos(new ProductoRequest { Id = 0 }); listaproductosmodel model = new listaproductosmodel(); ViewBag.TipoVenta = idTipo; switch (idTipo) { case 1: ViewBag.Title = "Preventa"; break; case 2: ViewBag.Title = "VIP"; break; case 3: ViewBag.Title = "En vivo (live)"; break; case 4: ViewBag.Title = "Existencias"; break; case 5: ViewBag.Title = "Venta exprés"; break; } model.Items.AddRange( response.Items.Where(p => p.IdTipo.Equals(idTipo)).Select(p => new productomodel { Descripcion = p.Descripcion, ErrorMensaje = p.ErrorMensaje, ErrorNumero = p.ErrorNumero, Existencias = p.Existencias, Nombre = p.Nombre, PrecioMXN = p.PrecioMXN, PrecioUSD = p.PrecioUSD, Imagen = p.Foto, Sku = p.SKU, AplicaExistencias = p.AplicaExistencias, Id = p.Id, IdCategoria = p.IdCategoria, IdTipo = idTipo, Categoria = string.Empty //responseCategorias.Items.First(c => c.Id.Equals(p.IdCategoria)).Nombre })); return(View(model)); }
public void Autenticar() { try { var usuarioObject = new AdministradorClient().Autenticar("12345678", "123456"); Assert.AreEqual("Marlon", usuarioObject.Nombre); } catch (Exception) { throw; } }
public JsonResult obtenerTipoEstatus(int IdTipo) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ClienteResponse() }, JsonRequestBehavior.AllowGet)); } var servicio = new AdministradorClient(); var response = servicio.listarTipoEstatus(new TipoEstatusRequest { Id = IdTipo }); return(Json(response.Items.Select(e => new { id = e.Id, nombre = e.Nombre }).ToArray(), JsonRequestBehavior.AllowGet)); }
public JsonResult eliminarCliente(clientemodel model) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ClienteResponse() }, JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var response = servicio.bajaCliente(new ClienteRequest { IdCliente = model.IdCliente, }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public JsonResult eliminarProducto(productomodel model) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new ProductoResponse(), JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var response = servicio.bajaProducto(new ProductoRequest { Id = model.Id, }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public JsonResult ObtenerNota(int folio) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ClienteResponse() }, JsonRequestBehavior.AllowGet)); } var servicio = new AdministradorClient(); var preresponse = servicio.cargarNota(new NotaRequest { Folio = folio }); var responseClientes = servicio.listarClientes(new ClienteRequest { IdCliente = preresponse.IdCliente }); var responseTipos = servicio.listarCatalogo(new CatalogoRequest { Id = preresponse.IdTipo }); var responseEstatus = servicio.listarEstatus(new EstatusRequest { Id = preresponse.IdEstatus }); var responsePaqueterias = servicio.listarCatalogo(new CatalogoRequest { Id = preresponse.IdPaqueteria }); notaModel response = new notaModel { Cliente = responseClientes.Items.FirstOrDefault().Nombre, IdCliente = preresponse.IdCliente, Estatus = responseEstatus.Items.FirstOrDefault().Nombre, IdEstatus = preresponse.IdEstatus, Fecha = preresponse.Fecha, FechaEnvio = preresponse.FechaEnvio, Folio = preresponse.Folio, Guia = preresponse.Guia, IdPaqueteria = preresponse.IdPaqueteria, Paqueteria = responsePaqueterias.Items.FirstOrDefault().Nombre, IdTipo = preresponse.IdTipo, Tipo = responseTipos.Items.FirstOrDefault().Nombre, MontoMXN = preresponse.MontoMXN, MontoUSD = preresponse.MontoUSD, SaldoMXN = preresponse.SaldoMXN, SaldoUSD = preresponse.SaldoUSD }; return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult guardarEstatus(catalogoModel model) { if (Session["usuario"] == null) { Session.Clear(); return(Json(new { respuesta = new ProductoResponse() }, JsonRequestBehavior.AllowGet)); } else { var servicio = new AdministradorClient(); var response = servicio.guardarEstatus(new EstatusRequest { Id = model.Id, Nombre = model.Nombre, IdTipoEstatus = model.IdTipoCatalogo }); return(Json(new { respuesta = response }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Carrito() { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } ClienteClient servicio = new ClienteClient(); AdministradorClient servicioAdmin = new AdministradorClient(); var response = servicio.listarPedidos(new CarritoRequest { IdCliente = (Session["usuario"] as loginmodel).usrguid, IdEstatus = 6 }); var responseTipos = servicioAdmin.listarCatalogo(new CatalogoRequest { Id = 0, IdTipoCatalogo = 0 }); var responseEstatus = servicioAdmin.listarEstatus(new EstatusRequest { Id = 0, IdTipoEstatus = 0 }); notacollectionModel pedidos = new notacollectionModel(); pedidos.Items.AddRange(response.Items.Select(i => new notaModel { IdCliente = i.IdCliente, Estatus = (i.IdEstatus != 0) ? responseEstatus.Items.FirstOrDefault(e => e.Id == i.IdEstatus).Nombre : string.Empty, IdEstatus = i.IdEstatus, Fecha = i.Fecha, FechaEnvio = i.FechaEnvio, Folio = i.Folio, Guia = i.Guia, IdPaqueteria = i.IdPaqueteria, IdTipo = i.IdTipo, MontoMXN = i.MontoMXN, MontoUSD = i.MontoUSD, Paqueteria = (i.IdPaqueteria != 0) ? responseTipos.Items.FirstOrDefault(pa => pa.Id == i.IdPaqueteria).Nombre : string.Empty, SaldoMXN = i.SaldoMXN, SaldoUSD = i.SaldoUSD, Tipo = (i.IdTipo != 0) ? responseTipos.Items.FirstOrDefault(t => t.Id == i.IdTipo).Nombre : string.Empty })); return(View(pedidos)); }
public ActionResult guardarComentario(Comentariomodel model) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } else { var servicio = new AdministradorClient(); var response = servicio.guardarComentarioNota(new NotaComentarioRequest { Fecha = DateTime.Now, Id = model.Id, Comentario = model.Mensaje, IdNota = model.FolioNota, IdComentarioAnterior = model.IdPadre }); return(RedirectToAction("Comentarios", new { folio = model.FolioNota })); } }
public ActionResult Productos() { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } listaproductosmodel productos = new listaproductosmodel(); var servicio = new AdministradorClient(); var response = servicio.listarProductos(new ProductoRequest { Id = 0 }); var tipos = servicio.listarCatalogo(new CatalogoRequest { Id = 0 }); var responseCategorias = servicio.listarCatalogo(new CatalogoRequest { IdTipoCatalogo = 0 }); productos.Items.AddRange( response.Items.OrderBy(p => p.IdTipo).Select(p => new productomodel { Descripcion = p.Descripcion, ErrorMensaje = p.ErrorMensaje, ErrorNumero = p.ErrorNumero, Existencias = p.Existencias, Nombre = p.Nombre, PrecioMXN = p.PrecioMXN, PrecioUSD = p.PrecioUSD, Imagen = p.Foto, Sku = p.SKU, AplicaExistencias = p.AplicaExistencias, Id = p.Id, IdCategoria = p.IdCategoria, IdEstatus = p.IdEstatus, IdTipo = p.IdTipo, Tipo = tipos.Items.First(i => i.Id.Equals(p.IdTipo)).Nombre, Categoria = responseCategorias.Items.First(c => c.Id.Equals(p.IdCategoria)).Nombre })); return(View(productos)); }
public ActionResult Perfil(clientemodel modelo) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } ClienteClient cliente = new ClienteClient(); AdministradorClient admin = new AdministradorClient(); var mensajerias = admin.listarCatalogo(new CatalogoRequest { IdTipoCatalogo = 2 }); var status = admin.listarEstatus(new EstatusRequest { IdTipoEstatus = 1 }); var response = admin.cargarCliente(new ClienteRequest { IdCliente = (Session["usuario"] as loginmodel).usrguid }); modelo = new clientemodel { IdCliente = response.IdCliente, Nombre = response.Nombre, Direccion = response.Direccion, Telefono = response.Telefono, IdEstatus = response.IdEstatus, ZonaPaqueteria = response.ZonaPaqueteria }; ViewData.Add("mensajerias", mensajerias.Items.Select(i => new catalogoModel { Id = i.Id, IdTipoCatalogo = i.IdTipoCatalogo, Nombre = i.Nombre })); ViewData.Add("status", status.Items.Select(i => new catalogoModel { Id = i.Id, IdTipoCatalogo = i.IdTipoEstatus, Nombre = i.Nombre })); return(View(modelo)); }
public ActionResult Tickets(int folio) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } ClienteClient cliente = new ClienteClient(); AdministradorClient admin = new AdministradorClient(); var tipos = admin.listarTipoCatalogo(new TipoCatalogoRequest { Id = 0 }); var carrito = cliente.verPedido(new CarritoRequest { Folio = folio }); var response = cliente.listarTickets(new ClienteServicio.NotaTicketRequest { IdNota = folio }); listaTicketsmodel listaTicketsmodel = new listaTicketsmodel { Folio = folio, IdTipo = carrito.IdTipo, MontoMXN = carrito.MontoMXN, MontoUSD = carrito.MontoUSD, Items = response.Items.Select(i => new Ticketmodel { Fecha = i.Fecha, Id = i.Id, IdNota = i.IdNota, MontoMXN = i.MontoMXN, MontoUSD = i.MontoUSD, Ticket = i.Ticket }).ToList(), SaldoMXN = carrito.SaldoMXN, SaldoUSD = carrito.SaldoUSD, Tipo = string.Empty // tipos.Items.FirstOrDefault(i => i.Id == carrito.IdTipo).Nombre }; return(View(listaTicketsmodel)); }
public ActionResult Tickets(int folio) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } var servicio = new AdministradorClient(); var listatickets = new listaTicketsmodel(); var response = servicio.listarTicketNota(new NotaTicketRequest { IdNota = folio }); listatickets.Items.AddRange(response.Items.Select(i => new Ticketmodel { Id = i.Id, Fecha = i.Fecha, IdNota = i.IdNota, Ticket = i.Ticket, MontoMXN = i.MontoMXN, MontoUSD = i.MontoUSD })); return(View(listatickets)); }
public ActionResult hazLogin(loginmodel model) { string accion = "Index", controlador = "Home"; if (!string.IsNullOrEmpty(model.usuario) && !string.IsNullOrEmpty(model.password)) { var servicio = new SeguridadClient(); var response = servicio.IniciarSesion(new LoginRequest { Usuario = model.usuario, password = model.password }); if (response.ErrorNumero == 0) { Session.Clear(); Session.Add("usuario", new loginmodel { usuario = response.Usuario, password = "******", usrguid = response.IdUsuario }); switch (response.RolUsuario.IdRol) { case 1: controlador = "Administrador"; break; case 2: controlador = "Cliente"; Dictionary <int, int?> _carritos = new Dictionary <int, int?>(); var _admin = new AdministradorClient(); var _lista = _admin.listarCatalogo(new CatalogoRequest { IdTipoCatalogo = 1 }); var _carritosactuales = _admin.listarNotas(new NotaRequest { IdCliente = (Session["usuario"] as loginmodel).usrguid, IdEstatus = 6 }); foreach (var item in _lista.Items) { var _carrito = _carritosactuales.Items.FirstOrDefault(c => c.IdTipo.Equals(item.Id) && c.IdCliente.Equals((Session["usuario"] as loginmodel).usrguid)); if (_carrito != null) { _carritos.Add(item.Id, _carrito.Folio); } else { _carritos.Add(item.Id, null); } } Session.Add("carritos", _carritos); break; default: break; } return(RedirectToAction(accion, controlador)); } return(View("Index", new loginmodel() { ErrorNumero = response.ErrorNumero, ErrorMensaje = response.ErrorMensaje })); } else { return(View("Index", new loginmodel() { ErrorNumero = 2, ErrorMensaje = "Falta usuario o contraseña" })); } }
public ActionResult DetalleNota(int folio) { if (Session["usuario"] == null) { Session.Clear(); return(RedirectToAction("Index", "Home")); } var servicio = new AdministradorClient(); notacompletaModel model; var response = servicio.cargarNota(new NotaRequest { Folio = folio }); var responsedetalle = servicio.cargarDetalleNota(new DetalleNotaRequest { IdNota = folio }); var responseClientes = servicio.listarClientes(new ClienteRequest { IdCliente = new Guid(), IdRol = 2 }); var responseTipos = servicio.listarCatalogo(new CatalogoRequest { Id = 0, IdTipoCatalogo = 0 }); var responseEstatus = servicio.listarEstatus(new EstatusRequest { Id = 0, IdTipoEstatus = 0 }); var responseItems = servicio.listarDetalleNota(new DetalleNotaRequest { IdNota = folio }); var productos = servicio.listarProductos(new ProductoRequest { Id = 0 }); var comentarios = servicio.listarComentarioNota(new NotaComentarioRequest { IdNota = folio }).Items; var tickets = servicio.listarTicketNota(new NotaTicketRequest { IdNota = folio }).Items; model = new notacompletaModel { Fecha = response.Fecha, FechaEnvio = response.FechaEnvio, Folio = response.Folio, Guia = response.Guia, IdCliente = response.IdCliente, Cliente = responseClientes.Items.FirstOrDefault(c => c.IdCliente == response.IdCliente).Nombre, IdEstatus = response.IdEstatus, Estatus = (response.IdEstatus != 0) ? responseEstatus.Items.FirstOrDefault(e => e.Id == response.IdEstatus).Nombre : string.Empty, IdPaqueteria = response.IdPaqueteria, Paqueteria = (response.IdPaqueteria != 0) ? responseTipos.Items.FirstOrDefault(pa => pa.Id == response.IdPaqueteria).Nombre : string.Empty, IdTipo = response.IdTipo, Tipo = (response.IdTipo != 0) ? responseTipos.Items.FirstOrDefault(t => t.Id == response.IdTipo).Nombre : string.Empty, MontoMXN = response.MontoMXN, MontoUSD = response.MontoUSD, SaldoMXN = response.SaldoMXN, SaldoUSD = response.SaldoUSD, Comentarios = comentarios.Select(i => new Comentariomodel { Id = i.Id, Fecha = i.Fecha, FolioNota = i.IdNota, Mensaje = i.Comentario }).ToList(), Tickets = tickets.Select(i => new Ticketmodel { Id = i.Id, Fecha = i.Fecha, IdNota = i.IdNota, Ticket = i.Ticket, MontoUSD = i.MontoUSD, MontoMXN = i.MontoMXN }).ToList() }; model.Items.AddRange(responseItems.Items.Select(i => new detallenotaModel { Cantidad = i.Cantidad, Id = i.Id, IdNota = i.IdNota, IdProducto = i.IdProducto, Producto = productos.Items.FirstOrDefault(p => p.Id == i.IdProducto).Nombre, PrecioMXN = i.PrecioMXN, PrecioUSD = i.PrecioUSD })); return(View(model)); }