public IHttpActionResult CompleteTask(string userId, int jobId) { JobBindingModel jobBindingModel = new JobBindingModel(); try { //Get job by jobId JobModel jobModel = new JobModel(); AutoMapper.Mapper.Map(jobBindingModel, jobModel); jobModel = jobService.GetJobById(jobId); jobModel.Status = JobStatus.Completed; jobModel = jobService.UpadteJob(jobModel); AutoMapper.Mapper.Map(jobModel, jobBindingModel); //Get employee schedule by jobid and delete EmployeeScheduleModel employeeScheduleModel = new EmployeeScheduleModel(); employeeScheduleModel = employeeScheduleService.GetEmployeesScheduleByJobId(jobId); employeeScheduleService.DeleteEmployeeSchedule(employeeScheduleModel.Id); ApplicationUser user = UserManager.FindById(jobModel.ClientId); if (user != null) { if (user.DeviceType == Utility.Constants.DEVICE_TYPE_ANDROID) { string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.userId=" + userId + "&data.jobId=" + jobId + "&data.type=" + Utility.Constants.JOB_COMPLETED_TYPE + "&data.message=" + Utility.Constants.MESSAGE_FOR_JOB_COMPLETED + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + user.DeviceToken + ""; var response = sendNotificationService.SendNotificationForAndroid(postData); } else { string payload = "{\"aps\":{\"alert\":\"" + "Hi, " + Utility.Constants.MESSAGE_FOR_JOB_COMPLETED + "" + "\",\"badge\":1,\"sound\":\"default\"},\"JobId\":" + jobId + ",\"userId\":\"" + userId + "\",\"type\":\"" + Utility.Constants.JOB_COMPLETED_TYPE + "\"}"; sendNotificationService.SendNotificationForIOS(user.DeviceToken, payload); } } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Json(jobBindingModel); }
public IHttpActionResult AcceptJob(string userId, int jobId) { JobBindingModel jobBindingModel = new JobBindingModel(); try { //Get job by jobId JobModel jobModel = new JobModel(); AutoMapper.Mapper.Map(jobBindingModel, jobModel); jobModel = jobService.GetJobById(jobId); jobModel.EmployeeId = userId; jobModel.Status = JobStatus.Current; jobModel = jobService.UpadteJob(jobModel); AutoMapper.Mapper.Map(jobModel, jobBindingModel); //get job service mapping List<JobServiceMappingModel> jobServiceMappingModel = new List<JobServiceMappingModel>(); jobServiceMappingModel = jobServiceMappingService.GetJobServiceMappingListByJobId(jobBindingModel.JobId); foreach (var item in jobServiceMappingModel) { SubServiceModel subServiceModel = new SubServiceModel(); subServiceModel = subServicesService.GetSubServiceById(item.ServiceId); item.ServiceName = subServiceModel.Description; } //get job service picture mapping List<JobServicePictureMappingModel> jobServicePictureMappingModel = new List<JobServicePictureMappingModel>(); jobServicePictureMappingModel = jobServicePictruesMappingService.GetJobServicePictureMapping(); jobBindingModel.JobServiceMappings = jobServiceMappingModel.Where(j => j.JobId == jobBindingModel.JobId).ToList(); jobServiceMappingModel.ForEach(x => { x.JobServicePictureMappings = jobServicePictureMappingModel.Where(j => j.JobServiceMappingId == x.JobServiceMappingId).ToList(); }); //get client inforamtion //Get Client Name ClientModel clientModel = new ClientModel(); clientModel = clientService.GetClientById(jobBindingModel.ClientId); jobBindingModel.ClientModel = clientModel; ApplicationUser user = UserManager.FindById(jobModel.ClientId); if (user != null) { if (user.DeviceType == Utility.Constants.DEVICE_TYPE_ANDROID) { string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.userId=" + userId + "&data.jobId=" + jobId + "&data.type=" + Utility.Constants.JOB_ACCEPT_TYPE + "&data.message=" + Utility.Constants.MESSAGE_FOR_JOB_ACCEPT + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + user.DeviceToken + ""; var response = sendNotificationService.SendNotificationForAndroid(postData); } else if (user.DeviceType == Utility.Constants.DEVICE_TYPE_IOS) { string payload = "{\"aps\":{\"alert\":\"" + "Hi, " + Utility.Constants.MESSAGE_FOR_JOB_ACCEPT + "" + "\",\"badge\":1,\"sound\":\"default\"},\"JobId\":" + jobId + ",\"userId\":\"" + userId + "\",\"type\":\"" + Utility.Constants.JOB_ACCEPT_TYPE + "\"}"; sendNotificationService.SendNotificationForIOS(user.DeviceToken, payload); } } } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Json(jobBindingModel); }
public IHttpActionResult PostJob(JobBindingModel model) { JobModel job = new JobModel(); if (!ModelState.IsValid) { return BadRequest(ModelState); } AutoMapper.Mapper.Map(model, job); job = jobService.SaveJob(job); AutoMapper.Mapper.Map(job, model); return Ok(model); }
public IHttpActionResult GetJobByJobId(Int32 jobId) { JobBindingModel jobBindingModel = new JobBindingModel(); JobModel jobModel = new JobModel(); AutoMapper.Mapper.Map(jobBindingModel, jobModel); jobModel = jobService.GetJobById(jobId); AutoMapper.Mapper.Map(jobModel, jobBindingModel); //Get Client Name ClientModel clientModel = new ClientModel(); clientModel = clientService.GetClientById(jobBindingModel.ClientId); jobBindingModel.ClientName = clientModel.FirstName; //Get service City UserLocationModel userLocationModel = new UserLocationModel(); userLocationModel = userLocationService.FindLocationById(jobBindingModel.ClientId); if (jobBindingModel.JobAddress == null || jobBindingModel.JobAddress == "") { jobBindingModel.JobAddress = userLocationModel.Address; } //Get serviceMapping JobServiceMappingModel jobServiceMappingModel = new JobServiceMappingModel(); jobServiceMappingModel = jobServiceMappingService.GetJobServiceMappingByJobId(jobId); //get service name SubServiceModel subServiceModel = new SubServiceModel(); subServiceModel = subServicesService.GetSubServiceById(jobServiceMappingModel.ServiceId); jobBindingModel.ServiceName = subServiceModel.Description; //get service picture mapping List<JobServicePictureMappingModel> jobServicePictureMappingModel = new List<JobServicePictureMappingModel>(); jobServicePictureMappingModel = jobServicePictruesMappingService.GetJobServicePictureMappingByJobServiceMappingId(jobServiceMappingModel.JobServiceMappingId); jobServiceMappingModel.JobServicePictureMappings = jobServicePictureMappingModel; jobBindingModel.JobServiceMapping = jobServiceMappingModel; jobBindingModel.EmployeeModel = employeeServices.GetEmployeeById(jobBindingModel.EmployeeId); jobBindingModel.RatingModel = ratingService.GetRatingListByJobId(jobBindingModel.JobId); return Ok(jobBindingModel); }
public IHttpActionResult GetJob(int id) { JobBindingModel jobBindingModel = new JobBindingModel(); JobModel jobModel = new JobModel(); AutoMapper.Mapper.Map(jobBindingModel, jobModel); jobModel = jobService.GetJobById(id); AutoMapper.Mapper.Map(jobModel, jobBindingModel); jobBindingModel.EmployeeModel = employeeServices.GetEmployeeById(jobBindingModel.EmployeeId); return Ok(jobBindingModel); }