public async System.Threading.Tasks.Task Save()
        {
            RequestPeriodoSave periodoToBeSave = new RequestPeriodoSave
            {
                Codigo      = "Codigo + " + DateTime.Now,
                Descricao   = "Descrição" + DateTime.Now,
                Quantidade  = 1,
                TopologiaId = 1,
            };

            HttpResponseMessage response = await _clientCall.Save(_baseController + "Save/", JsonConvert.SerializeObject(periodoToBeSave));

            Assert.IsTrue(response.IsSuccessStatusCode);
            if (response.IsSuccessStatusCode)
            {
                var retorno = await response.Content.ReadAsStringAsync();

                List <PeriodoViewModel> listPeriodoRetornoJson = JsonConvert.DeserializeObject <List <PeriodoViewModel> >(JObject.Parse(retorno)["data"].ToString());

                Assert.AreEqual(periodoToBeSave.Quantidade, listPeriodoRetornoJson.Count());


                foreach (PeriodoViewModel onePeriodo in listPeriodoRetornoJson)
                {
                    Periodo periodo = _unitOfw.PeriodoRepository.Get(y => y.Id == onePeriodo.Id).FirstOrDefault();


                    Assert.AreEqual(onePeriodo.TopologiaId, periodoToBeSave.TopologiaId);
                    Assert.AreEqual(onePeriodo.TopologiaId, periodo.TopologiaId);

                    Assert.AreEqual(onePeriodo.Codigo, periodo.Codigo);
                    Assert.AreEqual(onePeriodo.Descricao, periodo.Descricao);
                }
            }
        }
        public async System.Threading.Tasks.Task SaveUpdate()
        {
            RequestPeriodoSave periodoToBeSave = new RequestPeriodoSave
            {
                Id          = 10993,
                Codigo      = "C" + DateTime.Now.ToString("ddMMyyHHmmss"),
                Descricao   = "D_" + DateTime.Now.ToString("ddMMyy HHmmss"),
                TopologiaId = 1,
            };

            HttpResponseMessage response = await _clientCall.Save(_baseController + "Save/", JsonConvert.SerializeObject(periodoToBeSave));

            Assert.IsTrue(response.IsSuccessStatusCode);
            if (response.IsSuccessStatusCode)
            {
                var retorno = await response.Content.ReadAsStringAsync();

                PeriodoViewModel periodoRetornoJson = JsonConvert.DeserializeObject <PeriodoViewModel>(JObject.Parse(retorno)["data"].ToString());


                Periodo periodo = _unitOfw.PeriodoRepository.Get(y => y.Id == periodoToBeSave.Id).FirstOrDefault();

                Assert.AreEqual(periodoToBeSave.Id, periodoRetornoJson.Id);

                Assert.AreEqual(periodoToBeSave.TopologiaId, periodo.TopologiaId);
                Assert.AreEqual(periodoToBeSave.TopologiaId, periodoRetornoJson.TopologiaId);

                Assert.AreEqual(periodoToBeSave.Codigo, periodo.Codigo);
                Assert.AreEqual(periodoToBeSave.Codigo, periodoRetornoJson.Codigo);

                Assert.AreEqual(periodoToBeSave.Descricao, periodo.Descricao);
                Assert.AreEqual(periodoToBeSave.Descricao, periodoRetornoJson.Descricao);
            }
        }
Ejemplo n.º 3
0
        public IActionResult Post([FromBody] RequestPeriodoSave model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new BadRequestObjectResult(ModelState.GenerateValidation()));
                }

                if (!model.Id.HasValue || model.Id == 0)
                {
                    List <Periodo> periodoList = _periodoBO.InsertMultiplePeriodos(model.Quantidade, model.Descricao, model.TopologiaId);


                    List <PeriodoViewModel> retorno = _mapper.Map <List <PeriodoViewModel> >(periodoList);

                    BaseViewModel <List <PeriodoViewModel> > baseObj = new BaseViewModel <List <PeriodoViewModel> >(retorno, "Periodo Saved Successfully!", "");

                    return(Ok(baseObj));
                }
                else
                {
                    if (_unitOfw.PeriodoRepository.Count(y => y.Id == model.Id) == 0)
                    {
                        BaseViewModel <string> notFound = new BaseViewModel <string>("Periodo Not Found!", false);
                        return(NotFound(notFound));
                    }

                    if (_unitOfw.PeriodoRepository.Count(y => y.Codigo == model.Codigo && y.TopologiaId == model.TopologiaId && y.Id != model.Id) > 0)
                    {
                        BaseViewModel <string> already = new BaseViewModel <string>("Código Already!", false);
                        return(BadRequest(already));
                    }

                    Periodo tobeSave = _unitOfw.PeriodoRepository.Get(y => y.Id == model.Id).FirstOrDefault();
                    tobeSave.Codigo    = model.Codigo;
                    tobeSave.Descricao = model.Descricao;

                    bool retorno = _unitOfw.ValoresUpdate((int)model.Id, model.TopologiaId, model.Codigo, tobeSave.TipoEntidadeId);

                    if (retorno)
                    {
                        _unitOfw.PeriodoRepository.Update(tobeSave);
                    }

                    PeriodoViewModel saved = _mapper.Map <PeriodoViewModel>(tobeSave);

                    BaseViewModel <PeriodoViewModel> baseObj = new BaseViewModel <PeriodoViewModel>(saved, "Periodo Saved Successfully!", "");
                    return(Ok(baseObj));
                }
            }
            catch (Exception ex)
            {
                BaseViewModel <Exception> msg = new BaseViewModel <Exception>(ex, null, "");
                return(BadRequest(msg));
            }
        }