示例#1
0
        public async System.Threading.Tasks.Task Save()
        {
            RequestNoDrawing noDrawingToBeSave = new RequestNoDrawing
            {
                Categoria    = "UA",
                FluxogramaId = 1,
                CoordenadaX  = 1254,
                CoordenadaY  = 1044,
                Portas       = 4,
            };


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

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

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

                NoDrawing noDrawingfterSaveDataBase = _unitOfw.NoDrawingRepository.Get(y => y.NoId == noDrawingRetornoJson.Key).FirstOrDefault();
                No        noFromDatabase            = _unitOfw.NoRepository.Get(y => y.Id == noDrawingRetornoJson.Key).FirstOrDefault();

                VcmSuite3x_api.Core.Models.TipoEntidade tipoEntidadeFromDatabase = _unitOfw.TipoEntidadeRepository.Get(y => y.Prefixo == noDrawingToBeSave.Categoria).FirstOrDefault();

                Assert.AreEqual(noDrawingRetornoJson.Key, noDrawingfterSaveDataBase.NoId);

                Assert.AreEqual(tipoEntidadeFromDatabase.Id, noFromDatabase.TipoEntidadeId);

                Assert.AreEqual(noDrawingToBeSave.CoordenadaX, noDrawingfterSaveDataBase.CoordenadaX);
                Assert.AreEqual(noDrawingToBeSave.CoordenadaX, noDrawingRetornoJson.CoordenadaX);

                Assert.AreEqual(noDrawingToBeSave.CoordenadaY, noDrawingfterSaveDataBase.CoordenadaY);
                Assert.AreEqual(noDrawingToBeSave.CoordenadaY, noDrawingRetornoJson.CoordenadaY);


                List <PortaDrawing> portas = _unitOfw.PortaDrawingRepository.Get(y => y.NoId == noDrawingRetornoJson.Key).OrderBy(y => y.Index).ToList();

                Assert.AreEqual(noDrawingToBeSave.Portas, portas.Count);
                for (int i = 0; i < portas.Count; i++)
                {
                    Assert.AreEqual(noDrawingToBeSave.FluxogramaId, portas[i].FluxogramaId);
                    Assert.AreEqual(portas[i].Index, i + 1);
                }
            }
        }
示例#2
0
        public IActionResult Post([FromBody] RequestNoDrawing model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new BadRequestObjectResult(ModelState.GenerateValidation()));
                }

                if (model.Key <= 0)
                {
                    int    noId   = 0;
                    string codigo = string.Empty;

                    // Legado sempre passando Conector = false;
                    _noDrawingBO.Insert(4, model.FluxogramaId, ref noId, ref codigo, model.Categoria, false, model.CoordenadaX, model.CoordenadaY);

                    model.Key  = noId;
                    model.Code = codigo;

                    BaseViewModel <RequestNoDrawing> baseObj = new BaseViewModel <RequestNoDrawing>(model, "No Drawing Saved Successfully!", "");
                    return(Ok(baseObj));
                }
                else
                {
                    _noDrawingBO.Update(model.FluxogramaId, model.Key, model.CoordenadaX, model.CoordenadaY);

                    BaseViewModel <RequestNoDrawing> baseObj = new BaseViewModel <RequestNoDrawing>(model, "No Drawing Updated Successfully!", "");
                    return(Ok(baseObj));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }