public SubServiceModel GetAllCategoryServiceByServiceId(int ServiceId) { //unitOfWork.StartTransaction(); SubServiceRepository repo = new SubServiceRepository(unitOfWork); SubServiceModel subServiceList = new SubServiceModel(); Service service = new Service(); AutoMapper.Mapper.Map(subServiceList, service); service = repo.GetAll().Where(x => x.ServiceId == ServiceId).FirstOrDefault(); //unitOfWork.Commit(); AutoMapper.Mapper.Map(service, subServiceList); return subServiceList; }
public IHttpActionResult MyJobs(string userId, string type) { List<JobBindingModel> jobBindingModel = new List<JobBindingModel>(); try { //get job according to user id List<JobModel> jobModel = new List<JobModel>(); JobStatus jobStatus = (JobStatus)Enum.Parse(typeof(JobStatus), type); jobModel = jobService.GetJobsByEmployeeId(userId, jobStatus); AutoMapper.Mapper.Map(jobModel, jobBindingModel); //get job service mapping List<JobServiceMappingModel> jobServiceMappingModel = new List<JobServiceMappingModel>(); string[] jobIds = jobBindingModel.Select(u => u.JobId.ToString()).ToArray(); jobServiceMappingModel = jobServiceMappingService.GetJobServiceMappingByJobIds(jobIds); 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.ForEach(x => { x.JobServiceMappings = jobServiceMappingModel.Where(j => j.JobId == x.JobId).ToList(); }); jobServiceMappingModel.ForEach(x => { x.JobServicePictureMappings = jobServicePictureMappingModel.Where(j => j.JobServiceMappingId == x.JobServiceMappingId).ToList(); }); //get client inforamtion jobBindingModel.ForEach(x => { //Get Client Name ClientModel clientModel = new ClientModel(); clientModel = clientService.GetClientById(x.ClientId); ApplicationUser user = UserManager.FindById(clientModel.ClientId); if (user != null) { clientModel.PhoneNumber = user.PhoneNumber; } x.ClientModel = clientModel; userLocationModel = userLocationService.FindLocationById(x.ClientId); if (x.JobAddress == null || x.JobAddress == "") { x.JobAddress = userLocationModel.Address; x.Latitude = userLocationModel.Latitude; x.Longitude = userLocationModel.Latitude; } }); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Ok(jobBindingModel); }
public SubServiceModel UpadteSubService(SubServiceModel model) { //unitOfWork.StartTransaction(); SubServiceRepository repo = new SubServiceRepository(unitOfWork); Service service = new Service(); service = repo.GetAll().Where(x => x.ServiceId == model.ServiceId).FirstOrDefault(); AutoMapper.Mapper.Map(model, service); repo.Update(service); //unitOfWork.Commit(); AutoMapper.Mapper.Map(service, model); return model; }
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 SubServiceModel SaveSubService(SubServiceModel model) { //unitOfWork.StartTransaction(); SubServiceRepository repo = new SubServiceRepository(unitOfWork); Service service = new Service(); AutoMapper.Mapper.Map(model, service); repo.Insert(service); //unitOfWork.Commit(); AutoMapper.Mapper.Map(service, model); return 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 async Task<IHttpActionResult> PostService() { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } SubServiceBindingModel modal = new SubServiceBindingModel(); var root = HttpContext.Current.Server.MapPath(Utility.Constants.BASE_FILE_UPLOAD_PATH); Directory.CreateDirectory(root); var provider = new MultipartFormDataStreamProvider(root); var resultModel = await Request.Content.ReadAsMultipartAsync(provider); if (resultModel.FormData["model"] == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { modal = JsonConvert.DeserializeObject<SubServiceBindingModel>(resultModel.FormData["model"]); modal.CreatedDate = DateTime.Now; modal.ServiceCategoryId = modal.ServiceCategoryId > 0 ? modal.ServiceCategoryId : null; //modal.Description = resultModel.FormData["Description"]; } if (resultModel.FileData.Count > 0) { string fileName; if (HttpContext.Current.Request.Files != null) { for (var i = 0; i < resultModel.FileData.Count; i++) { var file = HttpContext.Current.Request.Files[i]; fileName = file.FileName; if (i == 0) { file.SaveAs(Path.Combine(root, Utility.Constants.SERVICES_LOGO, fileName)); modal.ServicePicturePath = fileName; } } } } SubServiceModel serviceModel = new SubServiceModel(); AutoMapper.Mapper.Map(modal, serviceModel); bool isParentActualService = true; var parentServiceOfServiceToInsert = subServicesService.GetSubServiceById(modal.ParentServiceId); var parentServiceOfServiceToInsertChildren = subServicesService.GetAllSubServicesByServiceId(parentServiceOfServiceToInsert.ServiceId).ToList(); isParentActualService = parentServiceOfServiceToInsertChildren.Count() > 0 ? false : true; if (isParentActualService) { serviceModel.ServiceCategoryId = null; } serviceModel = subServicesService.SaveSubService(serviceModel); return Ok(serviceModel); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } }
public async Task<IHttpActionResult> PutService(int id) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } SubServiceBindingModel modal = new SubServiceBindingModel(); var root = HttpContext.Current.Server.MapPath(Utility.Constants.BASE_FILE_UPLOAD_PATH); Directory.CreateDirectory(root); var provider = new MultipartFormDataStreamProvider(root); var resultModel = await Request.Content.ReadAsMultipartAsync(provider); if (resultModel.FormData["model"] == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } else { modal = JsonConvert.DeserializeObject<SubServiceBindingModel>(resultModel.FormData["model"]); modal.CreatedDate = DateTime.Now; //modal.Description = resultModel.FormData["Description"]; } if (resultModel.FileData.Count > 0) { string fileName; if (HttpContext.Current.Request.Files != null) { for (var i = 0; i < resultModel.FileData.Count; i++) { var file = HttpContext.Current.Request.Files[i]; fileName = file.FileName; if (i == 0) { file.SaveAs(Path.Combine(root, Utility.Constants.SERVICES_LOGO, fileName)); modal.ServicePicturePath = fileName; } } } } SubServiceModel serviceModel = new SubServiceModel(); SubServiceModel checkserviceModel = new SubServiceModel(); if (modal.ServiceCategoryId == 0) { modal.ServiceCategoryId = null; } AutoMapper.Mapper.Map(modal, serviceModel); serviceModel = subServicesService.UpadteSubService(serviceModel); //checkserviceModel = subServicesService.GetSubServiceById(id); //if(checkserviceModel.ParentServiceId == modal.ParentServiceId) //{ //} //else //{ // subServicesService.DeleteSubService(checkserviceModel.ServiceId); // serviceModel = subServicesService.GetSubServiceById(serviceModel.ServiceId); // modal.ServiceId = 0; // AutoMapper.Mapper.Map(modal, serviceModel); // serviceModel = subServicesService.SaveSubService(serviceModel); //} return Ok(serviceModel); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } }
public List<SubServiceModel> ServicesByCategoryId(int categoryId) { List<SubServiceModel> subServiceList = new List<SubServiceModel>(); var subServicesByCategoryId = subServicesService.GetServicesByCategoryId(categoryId); SubServiceModel subService = new SubServiceModel(); subService.ServiceId = 0; subService.Description = "------Root Service------"; subServiceList.Add(subService); if (subServicesByCategoryId != null && subServicesByCategoryId.Count() > 0) { foreach (var service in subServicesByCategoryId) { if (service.ServiceCategoryId != null) { subService = new SubServiceModel(); subService.ServiceId = service.ServiceId; subService.Description = service.Description; subServiceList.Add(subService); //var parentServiceIds = subServicesByCategoryId.Where(x => x.ServiceCategoryId == null && x.ParentServiceId == service.ServiceId).Select(x => x.ServiceId).ToArray(); //foreach (var parentServiceId in parentServiceIds) //{ // var parentService = subServicesService.GetSubServiceById(parentServiceId); // subService = new SubServiceModel(); // subService.ServiceId = parentService.ServiceId; // subService.Description = service.Description + " >> " + parentService.Description; // subServiceList.Add(subService); //} } } } return subServiceList; }
public IHttpActionResult MyTasks(string userId, string type) { List<JobBindingModel> jobBindingModel = new List<JobBindingModel>(); try { //get job according to user id List<JobModel> jobModel = new List<JobModel>(); JobStatus jobStatus = (JobStatus)Enum.Parse(typeof(JobStatus), type); jobModel = jobService.GetJobListByClientId(userId, jobStatus); AutoMapper.Mapper.Map(jobModel, jobBindingModel); //get job service mapping List<JobServiceMappingModel> jobServiceMappingModel = new List<JobServiceMappingModel>(); string[] jobIds = jobBindingModel.Select(u => u.JobId.ToString()).ToArray(); jobServiceMappingModel = jobServiceMappingService.GetJobServiceMappingByJobIds(jobIds); 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.ForEach(x => { x.JobServiceMappings = jobServiceMappingModel.Where(j => j.JobId == x.JobId).ToList(); }); jobServiceMappingModel.ForEach(x => { x.JobServicePictureMappings = jobServicePictureMappingModel.Where(j => j.JobServiceMappingId == x.JobServiceMappingId).ToList(); }); //get employee inforamtion jobBindingModel.ForEach(x => { //Get employee Name EmployeeModel EmployeeModel = new EmployeeModel(); EmployeeModel = employeeService.GetEmployeeById(x.EmployeeId); x.EmployeeModel = EmployeeModel; UserLocationModel userLocationModel = new UserLocationModel(); userLocationModel = userLocationService.FindLocationById(x.ClientId); if (x.JobAddress == null) { x.JobAddress = userLocationModel.Address; x.Latitude = userLocationModel.Latitude; x.Longitude = userLocationModel.Latitude; } if (x.StartDate != null && x.EndDate != null) { TimeSpan difference = Convert.ToDateTime(x.EndDate).AddDays(3) - Convert.ToDateTime(x.StartDate); var days = difference.TotalDays; if(days <= 3) { x.IsExpired = false; } else { x.IsExpired = true; } } }); } catch (Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); return BadRequest(ex.Message); } return Ok(jobBindingModel); }