コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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"));
 }
コード例 #3
0
        /// <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)));
        }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
 /// <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"));
     }
 }
コード例 #7
0
        /// <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)));
        }
コード例 #8
0
        /// <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));
        }