public async Task <EquipmentRequestReturn> InsertEquipment(string vesselCode, Equipment equipment) { var result = new EquipmentRequestReturn(); var vessel = await _vesselRepository.GetVesselByCode(vesselCode); if (vessel == null) { result.status = "Error"; result.message = "Vessel not registered"; result.equipments.Add(equipment.code); return(result); } equipment.vessel = vessel; equipment.status = true; if (await _equipamentRepository.SearchForVessel(equipment)) { var nEquipament = await _equipamentRepository.InsertEquipmentAsync(equipment); result.status = "Ok"; result.message = "Equipment registered"; result.equipments.Add(nEquipament.code); return(result); } result.status = "Error"; result.message = "Equipment not registered"; result.equipments.Add(equipment.code); return(result); }
public async Task <EquipmentRequestReturn> DeactivateEquipments(string vesselCode, List <Equipment> equipments) { var result = new EquipmentRequestReturn(); var equipamentsInVessel = await _equipamentRepository.GetEquipmentsByVesselCode(vesselCode.ToUpper()); var currentCodes = (from e in equipamentsInVessel select e.code).ToList(); var codesInList = (from e in equipments select currentCodes.Contains(e.code)).ToList(); if (codesInList.Contains(false)) { result.status = "Error"; result.message = "Vessel don't have the specific equipments."; return(result); } var itens = equipamentsInVessel.Where(c => equipments.Any(u => u.code == c.code)).ToList(); itens = itens.Select(c => { c.status = false; return(c); }).ToList(); var rs = await _equipamentRepository.Update(vesselCode, itens); result.status = "Ok"; result.message = "Vessel updated."; result.equipments = (from e in rs select e.code).ToList(); return(result); }