/// <summary> /// this method removes an assocaite from a room and decrease the current capacity /// </summary> /// <param name="associate"></param> /// <returns></returns> public async Task <bool> RemoveAssocFromRoom(InsertAssociateDto associate) { //FIND THE ASSOCIATE FROM A LIST OF ASSOCIATES AssociateDto assoc = (await consumerHelper.ConsumeAssociatesFromAPI()).Find(id => id.AssociateID.Equals(associate.AssociateId)); //FIND THE APARTMENT ApartmentDto aptDto = (await logicHelper.ApartmentsGetAll()).Find(id => id.RoomID.Equals(associate.RoomId)); //FIND THE HousingData HousingDataDto data = (await logicHelper.HousingDataGetAll()).Find(id => id.AssociateID.Equals(associate.AssociateId)); //update the status to 3 WHERE THREE MEANS TO DELETE data.StatusID = 3; if (aptDto.CurrentCapacity > 0) { aptDto.CurrentCapacity--; } else { return(false); } bool passed = await logicHelper.UpdateApartment(aptDto); bool passed3 = await logicHelper.UpdateHousingData(data); return(passed && passed3); }
/// <summary> /// Put method for updating housingData /// </summary> /// <param name="complex"></param> /// <returns></returns> public async Task <HttpResponseMessage> Put([FromBody] HousingDataDto complex) { if (await logicHelper.UpdateHousingData(complex)) { return(Request.CreateResponse(HttpStatusCode.OK, "successfully updated Housing Data")); } return(Request.CreateResponse(HttpStatusCode.BadRequest, "failed to update Housing Data")); }
/// <summary> /// This method recieves an HousingDataDto model that we expect to delete based off of the primary key /// </summary> /// <param name="oldData"></param> /// <returns>Task<bool></returns> public async Task <bool> DeleteHousingData(HousingDataDto oldData) { HousingData housingDataVnM = new HousingData(); //validate the incoming DTO first before converting into DAO //STILL NEED TO VALIDATE return(await graceService.DeleteHousingDataAsync(housingDataVnM.MapToDao(oldData))); }
/// <summary> /// this method inserts an assocaite into a room and increase the current capacity /// </summary> /// <param name="associate"></param> /// <returns></returns> public async Task <bool> InsertAssociateToRoom(InsertAssociateDto associate) { //FIND THE ASSOCIATE FROM A LIST OF ASSOCIATES AssociateDto assoc = (await consumerHelper.ConsumeAssociatesFromAPI()).Find(id => id.AssociateID.Equals(associate.AssociateId)); //FIND THE APARTMENT ApartmentDto aptDto = (await logicHelper.ApartmentsGetAll()).Find(id => id.RoomID.Equals(associate.RoomId)); List <HousingDataDto> tt = await logicHelper.HousingDataGetAll(); HousingDataDto data = new HousingDataDto() { AssociateID = assoc.AssociateID, MoveInDate = associate.MoveInDate, MoveOutDate = associate.MoveOutDate, RoomID = associate.RoomId, StatusID = 1 }; string RoomsGender = "Male"; if (aptDto.GenderID == 2) //Female on gender table { RoomsGender = "Female"; } if ((aptDto.CurrentCapacity < aptDto.MaxCapacity) && (RoomsGender == assoc.Gender)) { aptDto.CurrentCapacity++; } else { return(false); } bool passed = false; bool passed2 = false; if (tt.Exists(id => id.AssociateID.Equals(data.AssociateID))) { passed2 = await logicHelper.UpdateHousingData(data); } else { passed2 = await logicHelper.AddHousingData(data); } if (passed2) { passed = await logicHelper.UpdateApartment(aptDto); } return(passed && passed2); }
/// <summary> /// this method inserts a new housingData by calling on the soap service. /// The "graceService.insert" returns a bool value so we just return /// that since it depends on its pass or fail /// </summary> /// <param name="newData"></param> /// <returns>Task<bool></returns> public async Task <bool> AddHousingData(HousingDataDto newData) { try { HousingData housingDataVnM = new HousingData(); //validate the incoming DTO first before converting into DAO //STILL NEED TO VALIDATE return(await graceService.InsertHousingDataAsync(housingDataVnM.MapToDao(newData))); } catch (Exception) { return(false); } }
/// <summary> /// post method to insert new housingData /// </summary> /// <param name="newData"></param> /// <returns></returns> public async Task <HttpResponseMessage> Post([FromBody] HousingDataDto newData) { try { if (await logicHelper.AddHousingData(newData)) { var theResponse = Request.CreateResponse(HttpStatusCode.OK, "successful insert"); log.Info("HousingData Post Successful"); return(theResponse); } log.Info("HousingData Post Unsuccessful"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "failed to insert")); } catch (Exception ex) { LogHelper.SendError(log, ex); return(Request.CreateResponse(HttpStatusCode.BadRequest, "failed to insert")); } }
/// <summary> /// This method updates the HousingDataDto /// </summary> /// <param name="fixData"></param> /// <returns>Task<bool></returns> public async Task <bool> UpdateHousingData(HousingDataDto fixData) { HousingData dataVnM = new HousingData(); return(await graceService.UpdateHousingDataAsync(dataVnM.MapToDao(fixData))); }
/// <summary> /// This method maps from a HousingDataDto to a HousingDataDao /// </summary> /// <param name="data"></param> /// <returns>HousingDataDao</returns> public HousingDataDao MapToDao(HousingDataDto data) { var mapper = dataMapper.CreateMapper(); return(mapper.Map <HousingDataDao>(data)); }