Exemple #1
0
        public void CrearMensualidad(CrearMensualidadRequest MensualidadRequest, string expected)
        {
            _Mensualidadservice = new CrearMensualidadService(_unitOfWork);
            var response = _Mensualidadservice.Ejecutar(MensualidadRequest);

            Assert.AreEqual(expected, response.Message);
        }
        public async Task <IActionResult> CreateMensualidad([FromBody] CrearMensualidadRequest mensualidad)
        {
            _service = new CrearMensualidadService(_unitOfWork);
            var rta = _service.Ejecutar(mensualidad);

            if (rta.isOk())
            {
                await _context.SaveChangesAsync();

                //preguntar por lo que esta denteo del new
                return(CreatedAtAction("GetMensualidad", new { Id = mensualidad.id }, mensualidad));
            }
            return(BadRequest(rta.Message));
        }
        public CrearMensualidadResponse Ejecutar(CrearMensualidadRequest request)
        {
            var mensualidad  = _unitOfWork.MensualidadServiceRepository.FindFirstOrDefault(t => t.Id == request.id);
            var mensualidad2 = _unitOfWork.MensualidadServiceRepository.FindFirstOrDefault(t => t.Mes == request.Mes);

            if (mensualidad == null && mensualidad2 == null)
            {
                Dominio.Mensualidad newMensualidad = new Dominio.Mensualidad(request.Mes, request.DiaPago, request.FechaPago, request.ValorMensualidad,
                                                                             request.DescuentoMensualidad, request.Abono, request.Deuda, request.Estado, request.IdMatricula, request.TotalMensualidad);

                IReadOnlyList <string> errors = newMensualidad.CanCrear(newMensualidad);
                if (errors.Any())
                {
                    string listaErrors = "Errores:";
                    foreach (var item in errors)
                    {
                        listaErrors += item.ToString();
                    }
                    return(new CrearMensualidadResponse()
                    {
                        Message = listaErrors
                    });
                }
                else
                {
                    _unitOfWork.MensualidadServiceRepository.Add(newMensualidad);
                    _unitOfWork.Commit();
                    return(new CrearMensualidadResponse()
                    {
                        Message = $"Mensualidad Creada Exitosamente"
                    });
                }
            }
            else
            {
                return(new CrearMensualidadResponse()
                {
                    Message = $"Mensualidad ya existe"
                });
            }
        }