public static ServiceResponseResult AddTenantJobRequest(MarketJobModel model, Login login, HttpFileCollectionBase files = null) { using (var db = new KeysEntities()) { try { var request = db.PropertyRequest.Where(x => x.Id == model.RequestId).FirstOrDefault(); if (request == null) { return new ServiceResponseResult { IsSuccess = false, ErrorMessage = "No record found!" } } ; request.RequestStatusId = (int)JobRequestStatus.Accepted; request.IsUpdated = true; var jobRequest = new TenantJobRequest { PropertyId = model.PropertyId, OwnerId = login.Id, JobDescription = model.JobDescription, JobStatusId = 1, //Bug #2031 (Part 3) MaxBudget = model.MaxBudget, CreatedOn = DateTime.UtcNow, CreatedBy = login.Email, UpdatedOn = DateTime.UtcNow, UpdatedBy = login.Email, Title = model.Title }; db.TenantJobRequest.Add(jobRequest); var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.Images).NewObject as List <MediaModel>; mediaFiles.ForEach(x => jobRequest.TenantJobRequestMedia.Add(new TenantJobRequestMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName, })); db.SaveChanges(); var perId = request.RecipientId; if (perId.HasValue) { var addr = request.Property.Address; var ten = db.Person.FirstOrDefault(x => x.Id == perId); var tenLog = ten.Login; PropertyOwnerService.SendAcceptRequestEmail(ten.FirstName, tenLog.UserName, addr.ToAddressString()); } return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult AddDIYJob(JobModel model, Login login, HttpFileCollectionBase files, string serverPath = null) { using (var db = new KeysEntities()) { try { var newDIYJob = new Job { PropertyId = model.PropertyId, JobDescription = model.JobDescription, JobStatusId = 2, // Should be in pending state as the job hasnt started yet CreatedOn = DateTime.UtcNow, CreatedBy = login.Email, UpdatedOn = DateTime.UtcNow, UpdatedBy = login.Email, PercentDone = 0, OwnerId = login.Id, JobRequestId = model.JobRequestId, PaymentAmount = 0, }; db.Job.Add(newDIYJob); var request = db.PropertyRequest.Where(x => x.Id == model.JobRequestId).FirstOrDefault(); request.RequestStatusId = (int)JobRequestStatus.Accepted; request.IsUpdated = true; //foreach (int fileId in model.FilesCopy) //{ // var propertyRequestMedia1 = db.PropertyRequestMedia.Where(x => x.Id == fileId).FirstOrDefault(); // var newDIYJobMedia = new JobMedia(); // newDIYJobMedia.JobId = newDIYJob.Id; // newDIYJobMedia.NewFileName = propertyRequestMedia1.NewFileName; // newDIYJobMedia.OldFileName = propertyRequestMedia1.OldFileName; // newDIYJobMedia.PropertyId = newDIYJob.PropertyId; // db.JobMedia.Add(newDIYJobMedia); //} var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.Images).NewObject as List <MediaModel>; mediaFiles.ForEach(x => newDIYJob.JobMedia.Add(new JobMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName, })); db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult EditMarketJob(MarketJobModel model, Login login, HttpFileCollectionBase files = null) { var result = new ServiceResponseResult { IsSuccess = false }; using (var db = new KeysEntities()) { var files1 = model.MediaFiles; var editMarketJob = db.TenantJobRequest.Where(x => x.Id == model.Id).FirstOrDefault(); if (editMarketJob == null) { var errorMsg = "Cannot locate the Job in the Market Place"; result.ErrorMessage = errorMsg; return(result); } else { editMarketJob.JobDescription = model.JobDescription; editMarketJob.MaxBudget = model.MaxBudget; if (model.FilesRemoved != null) { model.FilesRemoved.ToList().ForEach(x => { var media = db.TenantJobRequestMedia.FirstOrDefault(y => y.Id == x); if (media != null) { db.TenantJobRequestMedia.Remove(media); MediaService.RemoveMediaFile(media.NewFileName); } }); } var fileList = MediaService.SaveFiles(files, 5 - editMarketJob.TenantJobRequestMedia.Count(), AllowedFileType.Images).NewObject as List <MediaModel>; if (fileList != null) { fileList.ForEach(x => editMarketJob.TenantJobRequestMedia.Add(new TenantJobRequestMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName })); } } try { db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult EditInspection(InspectionModel model, Login login, HttpFileCollectionBase files) { using (var db = new KeysEntities()) { var editInspection = db.Inspection.Where(x => x.Id == model.Id).First(); if (editInspection != null) { editInspection.IsUpdated = true; editInspection.PercentDone = model.PercentDone; editInspection.Message = model.Message; editInspection.UpdatedBy = login.Id; editInspection.UpdatedOn = DateTime.UtcNow; if (model.FilesRemoved.Count > 0) { foreach (var file in model.FilesRemoved) { var removeFile = db.InspectionMedia.Find(file); db.InspectionMedia.Remove(removeFile); MediaService.RemoveMediaFile(removeFile.NewFileName); } } var fileList = MediaService.SaveFiles(files, 5 - editInspection.InspectionMedia.Count, AllowedFileType.AllFiles).NewObject as List <MediaModel>; if (fileList != null) { fileList.ForEach(x => editInspection.InspectionMedia.Add(new InspectionMedia { NewFileName = x.NewFileName, InspectionId = editInspection.Id, OldFileName = x.OldFileName, IsActive = true })); } } ; try { db.SaveChanges(); var mediaFiles = editInspection.InspectionMedia.Select(x => MediaService.GenerateViewProperties(new MediaModel { NewFileName = x.NewFileName, OldFileName = x.OldFileName })).ToList(); mediaFiles = mediaFiles ?? new List <MediaModel>(); return(new ServiceResponseResult { IsSuccess = true, NewObject = mediaFiles }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = true, ErrorMessage = _error }); } } }
public static ServiceResponseResult EditMarketJobQuote(JobQuoteModel quoteModel, Login login, HttpFileCollectionBase files) { var result = new ServiceResponseResult { IsSuccess = false }; using (var db = new KeysEntities()) { var editJobQuote = db.JobQuote.Where(x => x.Id == quoteModel.Id).FirstOrDefault(); editJobQuote.Id = quoteModel.Id; editJobQuote.Note = quoteModel.Note; editJobQuote.UpdatedOn = DateTime.Now; if (quoteModel.FilesRemoved != null) { quoteModel.FilesRemoved.ToList().ForEach(x => { var media = db.JobQuoteMedia.FirstOrDefault(y => y.Id == x); if (media != null) { db.JobQuoteMedia.Remove(media); MediaService.RemoveMediaFile(media.FileName); } }); } var mediaFiles = MediaService.SaveFiles(files, 5 - editJobQuote.JobQuoteMedia.Count, AllowedFileType.AllFiles).NewObject as List <MediaModel>; if (mediaFiles != null) { mediaFiles.ForEach(x => editJobQuote.JobQuoteMedia.Add(new JobQuoteMedia { FileName = x.NewFileName, IsActive = true })); } try { db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult AddInspection(InspectionModel model, Login login, HttpFileCollectionBase files) { using (var db = new KeysEntities()) { var request = db.PropertyRequest.Where(x => x.Id == model.RequestId).FirstOrDefault(); if (request.RequestTypeId == 3) { var replyRequest = new Inspection { RequestId = model.RequestId, Message = model.Message, CreatedBy = login.Id, CreatedOn = DateTime.UtcNow, UpdatedBy = login.Id, UpdatedOn = DateTime.UtcNow, IsActive = true, PropertyId = model.PropertyId, StatusId = 1, PercentDone = model.PercentDone, OwnerUpdate = false, IsViewed = false, IsUpdated = false }; db.Inspection.Add(replyRequest); var fileList = MediaService.SaveFiles(files, 5, AllowedFileType.AllFiles).NewObject as List <MediaModel>; if (fileList != null) { fileList.ForEach(x => replyRequest.InspectionMedia.Add(new InspectionMedia { NewFileName = x.NewFileName, InspectionId = replyRequest.Id, OldFileName = x.OldFileName, IsActive = true })); } } request.RequestStatusId = 2; try { db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = true, ErrorMessage = _error }); } } }
public static ServiceResponseResult AddRentallApllication(RentalApplicationModel model, Login login, HttpFileCollectionBase files = null) { using (var db = new KeysEntities()) { var result = new ServiceResponseResult { IsSuccess = false }; if (!TenantService.IsLoginATenant(login)) { var errorMsg = "Account not tenant!"; result.ErrorMessage = errorMsg; return(result); } var rentalApp = new RentalApplication { RentalListingId = model.RentalListingId, PersonId = login.Id, TenantsCount = model.TenantsCount, ApplicationStatusId = 1, Note = model.Note, CreatedBy = login.Email, CreatedOn = DateTime.UtcNow, UpdatedBy = login.Email, UpdatedOn = DateTime.UtcNow, IsActive = true, }; var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.AllFiles).NewObject as List <MediaModel>; mediaFiles.ForEach(x => rentalApp.RentalApplicationMedia.Add(new RentalApplicationMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName, })); try { db.RentalApplication.Add(rentalApp); db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult AddTenantJobRequest(MarketJobModel model, Login login, HttpFileCollectionBase files = null) { using (var db = new KeysEntities()) { try { var request = db.PropertyRequest.Where(x => x.Id == model.RequestId).FirstOrDefault(); if (request == null) { return new ServiceResponseResult { IsSuccess = false, ErrorMessage = "No record found!" } } ; request.RequestStatusId = (int)JobRequestStatus.Accepted; request.IsUpdated = true; //var tenant = TenantService.GetTenantByLoginId(login.Id); var jobRequest = new TenantJobRequest { PropertyId = model.PropertyId, OwnerId = login.Id, JobDescription = model.JobDescription, JobStatusId = 1, //Bug #2031 (Part 3) MaxBudget = model.MaxBudget, CreatedOn = DateTime.UtcNow, CreatedBy = login.Email, UpdatedOn = DateTime.UtcNow, UpdatedBy = login.Email, Title = model.Title }; db.TenantJobRequest.Add(jobRequest); //foreach (int fileId in model.FilesCopy) //{ // var propertyRequestMedia1 = db.PropertyRequestMedia.Where(x => x.Id == fileId).FirstOrDefault(); // var newMarketJob = new TenantJobRequestMedia(); // newMarketJob.TenantJobRequestId = jobRequest.Id; // newMarketJob.NewFileName = propertyRequestMedia1.NewFileName; // newMarketJob.OldFileName = propertyRequestMedia1.OldFileName; // newMarketJob.EntityGuid = new Guid(); // db.TenantJobRequestMedia.Add(newMarketJob); //} var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.Images).NewObject as List <MediaModel>; mediaFiles.ForEach(x => jobRequest.TenantJobRequestMedia.Add(new TenantJobRequestMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName, })); db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult EditRentallApllication(RentalApplicationModel model, Login login, HttpFileCollectionBase files = null) { using (var db = new KeysEntities()) { var result = new ServiceResponseResult { IsSuccess = false }; if (!TenantService.IsLoginATenant(login)) { var errorMsg = "Account not tenant!"; result.ErrorMessage = errorMsg; return(result); } var foundRentalApplication = db.RentalApplication.Where(x => x.Id == model.Id).FirstOrDefault(); if (foundRentalApplication == null) { var errorMsg = "Cannot locate the Rental application"; result.ErrorMessage = errorMsg; return(result); } else { foundRentalApplication.RentalListingId = model.RentalListingId; foundRentalApplication.PersonId = login.Id; foundRentalApplication.TenantsCount = model.TenantsCount; foundRentalApplication.Note = model.Note; foundRentalApplication.ApplicationStatusId = 1; foundRentalApplication.CreatedBy = login.Email; foundRentalApplication.CreatedOn = DateTime.UtcNow; foundRentalApplication.UpdatedBy = login.Email; foundRentalApplication.UpdatedOn = DateTime.UtcNow; foundRentalApplication.IsActive = true; model.FilesRemoved.ForEach(x => { var media = db.RentalApplicationMedia.FirstOrDefault(y => y.Id == x); if (media != null) { db.RentalApplicationMedia.Remove(media); MediaService.RemoveMediaFile(media.NewFileName); } }); var mediaFiles = MediaService.SaveFiles(files, 5 - foundRentalApplication.RentalApplicationMedia.Count, AllowedFileType.AllFiles).NewObject as List <MediaModel>; if (mediaFiles != null) { mediaFiles.ForEach(x => foundRentalApplication.RentalApplicationMedia.Add(new RentalApplicationMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName, })); } }; try { db.SaveChanges(); var mFiles = new List <MediaModel>(); var medias = foundRentalApplication.RentalApplicationMedia .Select(x => MediaService.GenerateViewProperties(new MediaModel { Id = x.Id, NewFileName = x.NewFileName, OldFileName = x.OldFileName })).ToList(); return(new ServiceResponseResult { IsSuccess = true, NewObject = mFiles }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult AddJob(JobModel model, HttpFileCollectionBase files, Login login) { var result = new ServiceResponseResult { IsSuccess = false }; using (var db = new KeysEntities()) { var newJob = new Job(); var foundMarketJob = db.TenantJobRequest.Where(x => x.Id == model.Id).First(); if (foundMarketJob == null) { var errorMsg = "Cannot locate the Job in the Market Place"; result.ErrorMessage = errorMsg; return(result); } else { foundMarketJob.JobStatusId = 3; newJob.JobDescription = model.JobDescription; newJob.PropertyId = model.PropertyId; newJob.JobStatusId = 2; // should be pending newJob.CreatedBy = login.Email; newJob.CreatedOn = DateTime.UtcNow; newJob.UpdatedOn = DateTime.UtcNow; newJob.UpdatedBy = login.Email; newJob.PaymentAmount = 0; newJob.OwnerId = login.Id; newJob.JobRequestId = model.Id; newJob.PaymentAmount = 0; db.Job.Add(newJob); }; var mediaFiles = MediaService.SaveFiles(files, 5, AllowedFileType.AllFiles).NewObject as List <MediaModel>; mediaFiles.ForEach(x => { newJob.JobMedia.Add(new JobMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName }); }); try { db.SaveChanges(); //var jobRequestMedia = db.TenantJobRequestMedia.Where(x => x.TenantJobRequestId == model.Id).ToList(); //foreach (var mediaFile in jobRequestMedia) //{ // var newJobMedia = new JobMedia(); // newJobMedia.JobId = newJob.Id; // newJobMedia.NewFileName = mediaFile.NewFileName; // newJobMedia.OldFileName = mediaFile.OldFileName; // newJobMedia.PropertyId = model.PropertyId; // newJobMedia.IsActive = true; // db.JobMedia.Add(newJobMedia); // db.SaveChanges(); //} return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception) { return(new ServiceResponseResult { IsSuccess = false, ErrorMessage = _error }); } } }
public static ServiceResponseResult EditProperty(PropertyModel model, HttpFileCollectionBase files, Login user) { //List<String> dlist = new List<String>(); using (var db = new KeysEntities()) { var property = db.Property.Where(p => p.Id == model.Id).First(); property.Name = model.Name; property.Description = model.Description; property.Bedroom = model.Bedroom; property.Bathroom = model.Bathroom; property.FloorArea = model.FloorArea; property.LandSqm = model.LandSqm; property.ParkingSpace = model.ParkingSpace; property.PropertyTypeId = model.PropertyTypeId; property.IsActive = true; property.YearBuilt = model.YearBuilt; property.TargetRent = model.TargetRent; property.Address.Number = model.Address.Number.Replace(" ", ""); property.Address.Street = model.Address.Street.Trim(); property.Address.City = model.Address.City.Trim(); property.Address.Suburb = model.Address.Suburb; property.Address.PostCode = model.Address.PostCode.Replace(" ", ""); property.IsOwnerOccupied = model.IsOwnerOccupied; property.TargetRent = model.TargetRent; property.UpdatedBy = user.Email; property.UpdatedOn = DateTime.UtcNow; property.TargetRentTypeId = model.TargetRentTypeId; if (model.FilesRemoved != null) { model.FilesRemoved.ToList().ForEach(x => { var media = property.PropertyMedia.FirstOrDefault(y => y.Id == x); if (media != null) { db.PropertyMedia.Remove(media); MediaService.RemoveMediaFile(media.NewFileName); } }); } var fileList = MediaService.SaveFiles(files, 5 - property.PropertyMedia.Count(), AllowedFileType.Images).NewObject as List <MediaModel>; if (fileList != null) { fileList.ForEach(x => property.PropertyMedia.Add(new PropertyMedia { NewFileName = x.NewFileName, OldFileName = x.OldFileName })); } try { db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true }); } catch (Exception ex) { return(new ServiceResponseResult { IsSuccess = true, ErrorMessage = "error" }); } } }