Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
        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() + "&registration_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);
        }
Esempio n. 5
0
 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;
 }
Esempio n. 6
0
 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);
 }
Esempio n. 7
0
        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);
            }
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
        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);
        }