public async Task <ActionResult> DeleteConfirmed(int id) { var visita = await db.Visita.FindAsync(id); try { var visitaFotos = await db.VisitaFoto.Where(vf => vf.VisitaId == id).ToListAsync(); var photos = visitaFotos.Select(vf => new VisitasViewModel.Fotos { Order = vf.Order, FileName = string.Format("data:{0};base64,{1}", vf.MediaType, Convert.ToBase64String(vf.Foto)) }).ToList(); VisitasViewModel vm = new VisitasViewModel { Visita = visita, VisitaFotos = photos }; db.VisitaFoto.RemoveRange(visitaFotos); await db.SaveChangesAsync(); db.Visita.Remove(visita); await db.SaveChangesAsync(); AddLog("", vm.Visita.Id, vm); return(RedirectToAction("Index", GetReturnSearch())); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } return(await GetView(id)); }
public async Task <IActionResult> GETGuardarVisitasIndividual(VisitasViewModel DatosVisitas) { List <VisitasViewModel> visitas = new List <VisitasViewModel>(); visitas.Add(DatosVisitas); return(Ok(_ordersBusiness.GuardarVisitaBSS(visitas))); }
public async Task <ActionResult> Edit(VisitasViewModel model, IEnumerable <HttpPostedFileBase> Photos) { if (ModelState.IsValid) { db.Entry(model.Visita).State = EntityState.Modified; await db.SaveChangesAsync(); #region VisitaFotos var currentPhotos = await db.VisitaFoto .Where(vf => vf.VisitaId == model.Visita.Id) .ToListAsync(); if (model.VisitaFotos != null) { var PhotosId = model.VisitaFotos.Select(a => a.Order).ToArray(); var photosToDelete = currentPhotos.Where(a => !PhotosId.Contains(a.Order)).ToList(); if (photosToDelete.Count > 0) { db.VisitaFoto.RemoveRange(photosToDelete); await db.SaveChangesAsync(); } } else { var photosToDelete = currentPhotos.ToList(); if (photosToDelete.Count > 0) { db.VisitaFoto.RemoveRange(photosToDelete); await db.SaveChangesAsync(); } } int order = 0; if (currentPhotos.Count > 0) { order = currentPhotos.Select(i => i.Order).Max() + 1; } if (Photos != null) { await UploadPhotos(model.Visita.Id, Photos, order); } #endregion AddLog("", model.Visita.Id, model); return(RedirectToAction("Index", GetReturnSearch())); } return(await GetView(model.Visita.Id)); }
public async Task <ActionResult> Create(VisitasViewModel model, IEnumerable <HttpPostedFileBase> Photos) { if (ModelState.IsValid) { db.Visita.Add(model.Visita); await db.SaveChangesAsync(); int order = 0; if (Photos != null) { await UploadPhotos(model.Visita.Id, Photos, order); } AddLog("", model.Visita.Id, model); return(RedirectToAction("Index", GetReturnSearch())); } ViewData["Visita.TipoVisitaId"] = new SelectList(db.TipoVisitas.ToList(), "Id", "Nombre", model.Visita.TipoVisitaId); ViewData["Visita.TipoIndustriaId"] = new SelectList(db.TipoIndustrias.ToList(), "Id", "Nombre", model.Visita.TipoIndustriaId); ViewData["Visita.PaisId"] = new SelectList(db.Pais.ToList(), "PaisId", "PaisDesc", model.Visita.PaisId); if (model.Visita != null) { ViewData["Visita.DepartamentoId"] = new SelectList(db.Departamento.Where(d => d.PaisID == model.Visita.PaisId).ToList(), "DepartamentoId", "DepartamentoDesc"); ViewData["Visita.CiudadId"] = new SelectList(db.Ciudad.Where(c => c.DepartamentoID == model.Visita.DepartamentoId && c.PaisID == model.Visita.PaisId).ToList(), "CiudadId", "CiudadDesc"); } else { ViewData["Visita.DepartamentoId"] = new SelectList(db.Departamento.ToList(), "DepartamentoId", "DepartamentoDesc"); ViewData["Visita.CiudadId"] = new SelectList(db.Ciudad.ToList(), "CiudadId", "CiudadDesc"); } ViewBag.UsuarioId = Seguridadcll.Usuario.UsuarioId; ViewBag.Marcas = new SelectList(db.Marca.ToList(), "Id", "Nombre"); ViewBag.UsuarioNombre = Seguridadcll.Usuario.UsuarioNombre; return(View(model)); }