public bool ValidarSaida(BancoSangueSaidaViewModel vm) { var cliente = Mapper.Map <Clientes>(vm.Clientes); var SumBlood = _bancosangue.GetBlood(cliente); var bloodSum = SumBlood.Where(t => t.TipoSangue == vm.TipoSangue).SingleOrDefault(); var MinBlood = _rep.GetBDSaida(cliente); var bloodMin = MinBlood.Where(t => t.TipoSangue == vm.TipoSangue).SingleOrDefault(); if (bloodMin != null && bloodSum != null) { bloodSum.Total = bloodSum.Total - bloodMin.Quantidade; } if (bloodMin != null || bloodSum == null) { return(false); } if (bloodSum.Total < 0) { return(false); } if (vm.Quantidade > bloodSum.Total) { return(false); } return(true); }
public IActionResult Edit(BancoSangueSaidaViewModel vm) { if (!ModelState.IsValid) { return(SmartResult(vm)); } try { var client = _clientes.GetClienteByIdUsuario(); var vmClientes = AutoMapper.Mapper.Map <ClientesViewModel>(client); vm.Clientes = vmClientes; var result = _app.Edit(vm); if (result == 402) { ModelState.AddModelError("", "Quantidade de saída é menor que o estoque atual desse tipo sanguíneo."); } } catch (Exception ex) { ModelState.AddModelError("", "Ocorreu um erro ao processar sua requisição."); Log(ex, "BancoSangueSaidaController.Create.Post"); } return(SmartResult(vm)); }
public int Save(BancoSangueSaidaViewModel vm) { if (vm.Id == 0) { return(Create(vm)); } else { return(Edit(vm)); } }
public int Create(BancoSangueSaidaViewModel vm) { var validarSaida = ValidarSaida(vm); if (!validarSaida) { return(402); } var obj = Mapper.Map <BancoSangueSaidaViewModel, BancoSangueSaida>(vm); obj.DataSaida = DateTime.Now; BeginTransaction(); _rep.AddBancoSangueSaida(obj); return(Commit()); }
public int Edit(BancoSangueSaidaViewModel vm) { var validarSaida = ValidarSaida(vm); if (!validarSaida) { return(402); } var obj = _rep.Get(vm.Id); obj.Quantidade = vm.Quantidade; obj.TipoSangue = vm.TipoSangue; BeginTransaction(); _rep.Update(obj); return(Commit()); }
public IActionResult Create(BancoSangueSaidaViewModel vm) { ModelState["Id"].Errors.Clear(); ModelState["Id"].ValidationState = Microsoft.AspNetCore.Mvc.ModelBinding.ModelValidationState.Valid; var id = int.Parse(vm.TipoSangue); var exists = EnumValidate(id); if (exists == false) { ModelState.AddModelError("EnumValidate", "Tipo Sanguíneo Inválido"); } if (!ModelState.IsValid) { return(SmartResult(vm)); } var client = _clientes.GetClienteByIdUsuario(); var vmClientes = AutoMapper.Mapper.Map <ClientesViewModel>(client); vm.Clientes = vmClientes; vm.Id = 0; try { var result = _app.Create(vm); if (result == 402) { ModelState.AddModelError("", "Quantidade de saída é maior que o estoque atual desse tipo sanguíneo."); } } catch (Exception ex) { ModelState.AddModelError("", "Ocorreu um erro ao processar sua requisição."); Log(ex, "BancoSangueSaidaController.Create.Post"); } return(SmartResult(vm)); }
public int Delete(BancoSangueSaidaViewModel vm) { return(Delete(vm.Id)); }
public IActionResult Create() { var vm = new BancoSangueSaidaViewModel(); return(SmartResult(vm)); }