public HttpResponseMessage AlterarRack([FromBody] RackModel request) { if (request == null) { return(BadRequest($"O parametro {nameof(request)} não pode ser null")); } Rack rackAntiga = contexto.Racks.FirstOrDefault(x => x.Id == request.Id); Rack rackNova = CreateRack(request.QuantidadeGavetas, request.Tensao, request.Descricao); if (rackNova.QuantidadeGavetas < rackAntiga.QuantidadeGavetas) { return(BadRequest("A quantidade máxima de gavetas não pode ser diminuida.")); } if (rackNova.Validar()) { rackAntiga.QuantidadeGavetas = request.QuantidadeGavetas; rackAntiga.Descricao = request.Descricao; int quantidadeExtrasSlots = request.QuantidadeGavetas - rackAntiga.QuantidadeGavetas; for (var i = 0; i < quantidadeExtrasSlots; i++) { contexto.Gavetas.Add(CreateGaveta(rackAntiga, (rackAntiga.QuantidadeGavetas + i + 1))); } contexto.SaveChanges(); return(Ok(rackAntiga)); } return(BadRequest(rackNova.Mensagens)); }
public HttpResponseMessage CadastrarRack([FromBody] RackModel request) { if (request == null) { return(BadRequest($"O parametro {nameof(request)} não pode ser null")); } Slot slot = contexto.Slots.FirstOrDefault(x => x.Id == request.SlotId); slot.Ocupado = true; if (contexto.Racks.Where(x => x.Slot.Id == slot.Id).Count() != 0) { return(BadRequest("Já existe um rack neste slot.")); } Rack rack = CreateRack(request.QuantidadeGavetas, request.Tensao, request.Descricao); rack.Slot = slot; if (rack.Validar()) { for (var i = 0; i < rack.QuantidadeGavetas; i++) { contexto.Gavetas.Add(CreateGaveta(rack, i + 1)); } contexto.SaveChanges(); return(Ok(rack)); } return(BadRequest(rack.Mensagens)); }
public async Task <HttpResponseMessage> Update(RackModel item) { if (ModelState.IsValid) { var session = (Session)ContextOperator.Get(ContextKeys.SESSION_ID); item.UpdatedBy = session.UserId; await Task.Run(() => { this._rackService.Update(item); }); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(true, "Success", null))); } return(Request.CreateResponse(HttpStatusCode.OK, new ResponseMessage <object>(false, MessageString.INVALID_REQUEST_PARMS, null))); }
public void Criar_Rack_Deve_Retornar_Erro_Quando_O_Rack_For_Nulo() { RackModel rack = null; var controller = CriarController(); controller.Request = new HttpRequestMessage(); var resposta = controller.CadastrarRack(rack); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("O parametro request não pode ser null", mensagens[0]); }
public void Criar_Rack_Deve_Retornar_Erro_Quando_Ja_Existir_Rack_No_Slot() { RackModel rack = CriarNovaRack1(); var controller = CriarController(); controller.Request = new HttpRequestMessage(); controller.CadastrarRack(rack); var resposta = controller.CadastrarRack(rack); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("Já existe um rack neste slot.", mensagens[0]); }
public ActionResult SaveRack(RackModel objRack) { if (ModelState != null) { if (ModelState.IsValid) { tbl_rackInfo objTable = new Models.DB.tbl_rackInfo(); objTable.rack_name = objRack.rack_name; objTable.capacity = objRack.capacity; objTable.remaining = objRack.capacity; objEntity.tbl_rackInfo.Add(objTable); objEntity.SaveChanges(); } } return(RedirectToAction("Index", "Rack")); }
public async Task <IActionResult> PutRack(Guid id, [FromBody] RackModel model) { var rack = new RackModel() { Id = id, Name = model.Name, ColumnsId = model.ColumnsId }; try { _context.Entry(rack).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok(rack)); } catch (Exception ex) { throw ex; } }
public void Alterar_Rack_Deve_Retornar_Erro_Quando_Dimuir_Quantidade_De_Gavetas() { RackModel rack = CriarNovaRack1(); var controller = CriarController(); controller.Request = new HttpRequestMessage(); ObjectContent objeto = controller.CadastrarRack(rack).Content as ObjectContent; Rack rackRetornadaNoPost = objeto.Value as Rack; rack.Id = rackRetornadaNoPost.Id; rack.QuantidadeGavetas = 1; var resposta = controller.AlterarRack(rack); string[] mensagens = (resposta.Content as ObjectContent).Value as string[]; Assert.IsFalse(resposta.IsSuccessStatusCode); Assert.AreEqual("A quantidade máxima de gavetas não pode ser diminuida.", mensagens[0]); }
//POST : /api/Warehouse/rack/post public async Task <Object> PostRack(RackModel model) { var rack = new RackModel() { Id = Guid.NewGuid(), Name = model.Name, ColumnsId = model.ColumnsId, }; try { var result = await _context.Rack.AddAsync(rack); await _context.SaveChangesAsync(); return(Ok(rack)); } catch (Exception ex) { throw ex; } }