public async Task <IActionResult> Edit(int id, [Bind("Id,PersonaId,Valor,Interes,Fecha,FechaRegistro")] Model.PrestamoMVC prestamo)
        {
            ViewData["controller"] = "Prestamos";
            ViewData["action"]     = "Editar";

            if (id != prestamo.Id)
            {
                return(NotFound());
            }
            if (FechaValidator(prestamo.Fecha))
            {
                ModelState.AddModelError("Fecha", "La fecha seleccionada no pertenece al año parametrizado");
            }
            if (ModelState.IsValid)
            {
                try
                {
                    await _prestamoRepository.UpdateAsync(ParseToDTO(prestamo));
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PrestamoExists(prestamo.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdPersona"] = new SelectList(_personaRepository.GetAll(), "IdPersona", "Apellidos", prestamo.PersonaId);
            return(View(prestamo));
        }
        public async Task <IActionResult> Create([Bind("Id,PersonaId,Valor,Interes,Fecha,FechaRegistro")] Model.PrestamoMVC prestamo)
        {
            ViewData["controller"] = "Prestamos";
            ViewData["action"]     = "Nuevo";

            var prestamoActivo = _prestamoRepository.GetPrestamoActivoPersona(prestamo.PersonaId);

            if (null != prestamoActivo)
            {
                ModelState.AddModelError(string.Empty, "Ya existe un prestamo vigente para el usuario seleccionado");
            }
            if (FechaValidator(prestamo.Fecha))
            {
                ModelState.AddModelError("Fecha", "La fecha seleccionada no pertenece al año parametrizado");
            }
            if (ModelState.IsValid)
            {
                await _prestamoRepository.CreateAsync(ParseToDTO(prestamo));

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdPersona"] = new SelectList(_prestamoRepository.GetAll(), "IdPersona", "Apellidos", prestamo.PersonaId);
            return(View(prestamo));
        }
 private DTO.PrestamoDTO ParseToDTO(Model.PrestamoMVC mvc)
 {
     return(_mapper.Map <Model.PrestamoMVC, DTO.PrestamoDTO>(mvc));
 }