public async Task <ActionResult> Edit(int id) { ResponsablesController controlResponsable = new ResponsablesController(db); //Valida que el usuario tenga permisos sobre el encuestador var user = await userManager.FindByNameAsync(User.Identity.Name); var respRelacionado = await GetResponsablesbyIdParent(user.IDDependencia, 1, 3); var ids = controlResponsable.GetAllIdsFromResponsable(user.IDDependencia); Pollster encuestador = await db.Pollster.Where(n => n.Id == id && respRelacionado.Contains(n.IdResponsable)).FirstOrDefaultAsync(); if (encuestador == null) { return(NotFound()); } if (encuestador.Location != null) { encuestador.IdLocationParent = (int)encuestador.Location.IdParent; } ViewBag.Departamentos = new SelectList(await db.Location.Where(n => n.IdLevel == 2).OrderBy(n => n.Name).ToListAsync(), "Id", "Name", encuestador.IdLocationParent); ViewBag.Municipios = new SelectList(await db.Location.Where(n => n.IdLevel == 3 && n.IdParent == encuestador.IdLocationParent).OrderBy(n => n.Name).ToListAsync(), "Id", "Name", encuestador.IdLocation); ViewBag.Coordinaciones = new SelectList(await db.Responsable.Where(n => ids.Contains(n.Id) && n.Nombre.StartsWith("[CDR]")).OrderBy(n => n.Nombre).ToListAsync(), "Id", "Nombre", encuestador.IdResponsable); return(View(encuestador)); }
public async Task <ActionResult> Create(Pollster encuestador) { var user = await userManager.FindByNameAsync(User.Identity.Name); if (ModelState.IsValid) { //Si no define la coordinación (dependencia) encargada se usa la del usuario actual if (encuestador.IdResponsable == 0) { encuestador.IdResponsable = user.IDDependencia; } //Usuario y fecha de creación encuestador.User = user; encuestador.CreationDate = DateTime.Now; encuestador.Code = await GenerateCode(encuestador.DNI); db.Pollster.Add(encuestador); await db.SaveChangesAsync(); return(RedirectToAction("Details", new { id = encuestador.Id })); } ResponsablesController controlResponsable = new ResponsablesController(db); var ids = controlResponsable.GetAllIdsFromResponsable(user.IDDependencia); ViewBag.Departamentos = new SelectList(await db.Location.Where(n => n.IdLevel == 2).OrderBy(n => n.Name).ToListAsync(), "Id", "Name"); ViewBag.Coordinaciones = new SelectList(await db.Responsable.Where(n => ids.Contains(n.Id) && n.Nombre.StartsWith("[CDR]")).OrderBy(n => n.Nombre).ToListAsync(), "Id", "Nombre", encuestador.IdResponsable); return(View(encuestador)); }
public async Task <ActionResult> Delete(int id) { Pollster encuestador = await db.Pollster.FindAsync(id); if (encuestador == null) { return(NotFound()); } return(View(encuestador)); }
public int SavePollsters(PollsterRegisterViewModel models) { var model = new PollsterRegisterViewModel(); Mapper.Initialize(cfg => { cfg.CreateMap <PollsterRegisterViewModel, Pollster>(); }); var _marpermodel = new Pollster(); _marpermodel = Mapper.Map <Pollster>(models); var _result = _campaignServicesDao.SavePollster(_marpermodel); return(_result); }
public PollsterRegisterViewModel GetPollster(int Id) { var model = new PollsterRegisterViewModel(); Mapper.Initialize(cfg => { cfg.CreateMap <Pollster, PollsterRegisterViewModel>(); }); var equipmentsmodel = new Pollster(); equipmentsmodel = _campaignServicesDao.GetPollster_Edit(Id); model = Mapper.Map <PollsterRegisterViewModel>(equipmentsmodel); return(model); }
public async Task <ActionResult> DeleteConfirmed(int id) { var controlConfiguracion = new ConfiguracionsController(db); Pollster encuestador = await db.Pollster.FindAsync(id); try { db.Pollster.Remove(encuestador); await db.SaveChangesAsync(); } catch (Exception ex) { var error = controlConfiguracion.SqlErrorHandler(ex); HttpContext.Session.SetComplex("error", error); } return(RedirectToAction("Index")); }
public async Task <ActionResult> Details(int id) { var user = await userManager.FindByNameAsync(User.Identity.Name); var respRelacionado = await GetResponsablesbyIdParent(user.IDDependencia, 1, 3); Pollster encuestador = await db.Pollster.Where(n => n.Id == id && respRelacionado.Contains(n.IdResponsable)).FirstOrDefaultAsync(); var kobo = new KoboController(db, userManager, _env); ViewBag.DataTime = kobo.GetDatetimeData(KoboController.FILE_CARACTERIZACION); ViewBag.DataTimeAssoc = kobo.GetDatetimeData(KoboController.FILE_ASOCIACION); if (encuestador == null) { return(NotFound()); } return(View(encuestador)); }
public async Task <ActionResult> Edit(Pollster encuestador) { var original = await db.Pollster.FindAsync(encuestador.Id); if (original == null) { ModelState.AddModelError(string.Empty, "Encuestador no registrado."); } if (ModelState.IsValid) { original.DNI = encuestador.DNI; original.Name = encuestador.Name; original.PhoneNumber = encuestador.PhoneNumber; original.Email = encuestador.Email; if (encuestador.IdLocation > 0) { original.IdLocation = encuestador.IdLocation; } if (encuestador.IdResponsable > 0) { original.IdResponsable = encuestador.IdResponsable; } original.Code = await GenerateCode(original.DNI); db.Entry(original).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Details", new { id = original.Id })); } ResponsablesController controlResponsable = new ResponsablesController(db); var user = await userManager.FindByNameAsync(User.Identity.Name); var ids = controlResponsable.GetAllIdsFromResponsable(user.IDDependencia); ViewBag.Departamentos = new SelectList(await db.Location.Where(n => n.IdLevel == 2).OrderBy(n => n.Name).ToListAsync(), "Id", "Name", encuestador.IdLocation); ViewBag.Coordinaciones = new SelectList(await db.Responsable.Where(n => ids.Contains(n.Id) && n.Nombre.StartsWith("[CDR]")).OrderBy(n => n.Nombre).ToListAsync(), "Id", "Nombre", encuestador.IdResponsable); return(View(encuestador)); }
public int SavePollster(Pollster entity) { try { Context.Pollsters.Add(entity); if (entity.Id < 1) { Context.Entry(entity).State = EntityState.Added; } else { Context.Entry(entity).State = EntityState.Modified; } Context.SaveChanges(); return(1); } catch (Exception) { return(0); } }