コード例 #1
0
        public IActionResult PostTreinoSemana([FromBody] TreinoSemanaAddDTO TreinoSemanaAdd,
                                              [FromServices] TreinosDAO TreinosDAO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TreinoSemanaInsertDTO TreinoSemanaInsert = new TreinoSemanaInsertDTO();

            try
            {
                int _IDUsuario = User.Identity.GetIDUsuario();

                TreinoSemanaInsert = TreinosEVR.InsertTreinoSemanaEVR(_IDUsuario, TreinoSemanaAdd, TreinosDAO);

                if (!TreinoSemanaInsert.Status)
                {
                    return(BadRequest(TreinoSemanaInsert.Msg));
                }

                TreinosDAO.InsertTreinoSemanas(_IDUsuario, TreinoSemanaInsert.DataInicio, TreinoSemanaInsert.IDSemana, TreinoSemanaAdd.IDSemanaDia, TreinoSemanaInsert.IDTipo);
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.InnerException));
            }

            return(Ok(TreinoSemanaInsert));
        }
コード例 #2
0
        public static TreinoSemanaInsertDTO InsertTreinoSemanaEVR(int IDUsuario, TreinoSemanaAddDTO TreinoSemanaAdd, TreinosDAO TreinosDAO)
        {
            TreinoSemanaInsertDTO _TreinoSemanaInsert = new TreinoSemanaInsertDTO();

            SemanaDiasDTO _SemanaDias = TreinosDAO.SelectSemanaDiaPorIDSemana(TreinoSemanaAdd.IDSemanaDia);

            if (_SemanaDias == null)
            {
                _TreinoSemanaInsert.Status = false;
                _TreinoSemanaInsert.Msg    = "Dia da semana inválido!";
                return(_TreinoSemanaInsert);
            }

            DateHelpers _DateHelpers = new DateHelpers();

            DateTime DataInicio = _DateHelpers.GetNextDateForDay(TreinoSemanaAdd.IDSemanaDia);

            List <SemanaUsuariosDTO> _SemanaUsuarios = TreinosDAO.SelectSemanasUsuarioPorIDUsuario(IDUsuario);

            if (DataInicio < DateTime.Now)
            {
                _TreinoSemanaInsert.Status = false;
                _TreinoSemanaInsert.Msg    = "Data Inicio deve ser maior ou igual a data de hoje!";
                return(_TreinoSemanaInsert);
            }

            SemanaUsuariosDTO _SemanaUsuario = _SemanaUsuarios.Where((semana) => semana.IDUsuario == IDUsuario && semana.Ativo == true).FirstOrDefault();

            if (_SemanaUsuario != null)
            {
                if (_SemanaUsuario.DataFim > DateTime.Now)
                {
                    _TreinoSemanaInsert.Status = false;
                    _TreinoSemanaInsert.Msg    = "Voce só poderá solicitar um novo treino a partir de: " + _SemanaUsuario.DataFim;
                    return(_TreinoSemanaInsert);
                }
            }

            List <SemanasDTO>        _Semanas         = TreinosDAO.SelectSemanas();
            List <SemanaUsuariosDTO> _SemanasUsuarios = TreinosDAO.SelectSemanasUsuarioPorIDUsuario(IDUsuario);
            var Semanas   = _Semanas.Where(item => !_SemanasUsuarios.Any(item2 => item2.IDSemana == item.IDSemana));
            int _IDSemana = Semanas.Min((semana) => semana.IDSemana);
            int _IDTipo   = TreinosDAO.SelectTreinosPorIDSemana(_IDSemana).FirstOrDefault().IDTipo;

            _TreinoSemanaInsert.IDTipo     = _IDTipo;
            _TreinoSemanaInsert.DataInicio = DataInicio;
            _TreinoSemanaInsert.IDSemana   = _IDSemana;
            return(_TreinoSemanaInsert);
        }