public bool CreateUser(RegisterViewModel model, string userId) { if (!string.IsNullOrEmpty(userId)) { var entity = new Entity() { UserId = userId, Name = model.Name, Company = model.Company, Address1 = model.Address1, Address2 = model.Address2, StateId = model.StateId, City = model.City, Zip = model.Zip, Fax = model.Fax, MobilePhone = model.MobilePhone, OfficePhone = model.OfficePhone, ContactedBy = model.ContactedBy }; _context.Entities.Add(entity); _context.SaveChanges(); return(true); } return(false); }
public Int64 SaveCorrespondence(CorrespondenceVM model, long RequestId) { var correspondence = new Correspondence() { CorrespondenceTypeId = model.CorrespondenceTypeId, RequestId = RequestId, Body = model.Body, Date = DateTime.Now }; _context.Correspondences.Add(correspondence); _context.SaveChanges(); return(correspondence.CorrespondenceId); }
public bool SaveRequestAssignment(RequestVM model) { if (model.RequestId > 0) { var request = _context.Requests.Single(p => p.RequestId == model.RequestId); // If request already assign if (model.IsRequestAssignedAlready == true) { var requestAssignment = _context.RequestAssignments.Single(p => p.RequestId == model.RequestId); var requestReviewerResponse = _context.RequestResponses.SingleOrDefault(p => p.RequestId == model.RequestId); if (requestAssignment.IsAssignToArchitect) { if (requestAssignment.ArchitechStatus == Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired)) { // Update Architect Response if (requestReviewerResponse != null) { requestReviewerResponse.IsNoHistoricProperty = null; requestReviewerResponse.IsHistoricProperty = null; //requestReviewerResponse.IsNoEffect = null; //requestReviewerResponse.IsNoAdverseEffect = null; //requestReviewerResponse.IsNoAdverseEffectWithCondition = null; requestReviewerResponse.ArchitectResponse = null; requestReviewerResponse.ArchitectComment = null; requestReviewerResponse.ArchitectUserId = null; } // Update Architect Assignment Status requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.Pending); } } if (requestAssignment.IsAssignToArchaelogical) { if (requestAssignment.ArchaelogicalStatus == Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired) || requestAssignment.ArchaelogicalStatus == Convert.ToInt32(ReviewerRequestStatus.SurveyRequired)) { // Update Archaelogical Response if (requestReviewerResponse != null) { requestReviewerResponse.ArchaelogicalResponse = null; requestReviewerResponse.ArchaelogicalComment = null; requestReviewerResponse.ArchaelogicalUserId = null; } // Update Archaelogical Assignment Status requestAssignment.ArchaelogicalStatus = Convert.ToInt32(ReviewerRequestStatus.Pending); } } if (requestAssignment.IsAssignToTechnical) { if (requestAssignment.TechnicalStatus == Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired)) { // Update Technical Response if (requestReviewerResponse != null) { requestReviewerResponse.TechnicalResponse = null; requestReviewerResponse.TechnicalComment = null; requestReviewerResponse.TechnicalUserId = null; } // Update Technical Assignment Status requestAssignment.TechnicalStatus = Convert.ToInt32(ReviewerRequestStatus.Pending); } } if (requestAssignment.IsAssignToLandMarks) { if (requestAssignment.LandMarksStatus == Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired)) { // Update Technical Response if (requestReviewerResponse != null) { requestReviewerResponse.LankMarksResponse = null; requestReviewerResponse.LankMarksComment = null; requestReviewerResponse.LankMarksUserId = null; } // Update Technical Assignment Status requestAssignment.LandMarksStatus = Convert.ToInt32(ReviewerRequestStatus.Pending); } } // Start internal clock on request re-assign var clock = _context.Clocks.Single(p => p.RequestId == model.RequestId); clock.InternalClockDate = DateTime.Now.AddDays(Convert.ToInt32(clock.InternalRemainingDays)); clock.InternalClockStatus = Convert.ToInt16(ClockStatus.Start); clock.InternalRemainingDays = null; _context.SaveChanges(); // Update Request Status to Assigned request.Status = Convert.ToInt32(RequestStatus.Assigned); _context.SaveChanges(); return(true); } else { if (model.RequestAssignment.IsAccept) { var assignment = new RequestAssignment() { RequestId = model.RequestId ?? 0, FederalOrState = model.RequestAssignment.FederalOrState, ProjectNumber = model.RequestAssignment.ProjectNumber, RespondDate = model.RequestAssignment.RespondDate, IsAssignToArchitect = model.RequestAssignment.IsAssignToArchitect, IsAssignToArchaelogical = model.RequestAssignment.IsAssignToArchaelogical, IsAssignToTechnical = model.RequestAssignment.IsAssignToTechnical, IsAssignToLandMarks = model.RequestAssignment.IsAssignToLandMarks, ArchitechStatus = model.RequestAssignment.IsAssignToArchitect ? Convert.ToInt32(ReviewerRequestStatus.Pending) : 0, ArchaelogicalStatus = model.RequestAssignment.IsAssignToArchaelogical ? Convert.ToInt32(ReviewerRequestStatus.Pending) : 0, TechnicalStatus = model.RequestAssignment.IsAssignToTechnical ? Convert.ToInt32(ReviewerRequestStatus.Pending) : 0, LandMarksStatus = model.RequestAssignment.IsAssignToLandMarks ? Convert.ToInt32(ReviewerRequestStatus.Pending) : 0 }; _context.RequestAssignments.Add(assignment); _context.SaveChanges(); // Update request status based on IsAccept request.Status = Convert.ToInt32(RequestStatus.Assigned); // Start internal clock var clock = _context.Clocks.Single(p => p.RequestId == model.RequestId); clock.InternalClockDate = DateTime.Now.AddDays(15); clock.InternalClockStatus = Convert.ToInt16(ClockStatus.Start); _context.SaveChanges(); } else { request.Status = Convert.ToInt32(RequestStatus.Returned); } _context.SaveChanges(); return(true); } } return(false); }
public bool SaveRequest(RequestVM model) { // Saving Applicant Contact Info bool isContactSame = model.IsApplicantSameAsSubmitting; long applicantId = 0; if (!isContactSame) { var applicant = new Applicant() { Name = model.ApplicantContact.Name, Company = model.ApplicantContact.Company, Email = model.ApplicantContact.Email, Address1 = model.ApplicantContact.Address1, Address2 = model.ApplicantContact.Address2, StateId = model.ApplicantContact.StateId, City = model.ApplicantContact.City, Zip = model.ApplicantContact.Zip, MobilePhone = model.ApplicantContact.MobileNumber != null ? model.ApplicantContact.MobileNumber : "", OfficePhone = model.ApplicantContact.OfficeNumber, Fax = model.ApplicantContact.Fax, CountyId = model.ApplicantContact.CountyId }; _context.Applicants.Add(applicant); _context.SaveChanges(); applicantId = applicant.ApplicantId; } var randomProjectLogNumber = _commonRepository.GenerateRandomNumber(); // Saving Request var request = new Request() { Status = model.Status, ApplicantContactId = applicantId, IsApplicantSameAsSubmitting = model.IsApplicantSameAsSubmitting, UserId = model.UserId, Name = model.ProjectName, Description = model.ProjectDescription, //LogNumber = model.IsNewSubmission ? randomProjectLogNumber : model.ProjectLogNumber, LogNumber = randomProjectLogNumber, Date = model.ProjectDate, Address1 = model.ProjectAddress1 == null ? "" : model.ProjectAddress1, Address2 = model.ProjectAddress2, CityId = model.ProjectCityId == null ? 0 : (int)model.ProjectCityId, CountyId = model.ProjectCountyId, Zip = model.ProjectZip, LongitudeDD = model.Longitude, LatitudeDD = model.Latitude, Township = model.TownShip, Range = model.Range, Section = model.Section, IsFederalProperty = model.IsFederalProperty, IsStateProperty = model.IsStateProperty, IsMunicipalProperty = model.IsMunicipalProperty, IsPrivateProperty = model.IsPrivateProperty, AgencyId = model.AgencyId, AgencyProjectNumber = model.AgencyProjectNumber, IsConstructionExcavation = model.IsConstructionExcavation, IsRehabilitation = model.IsRehabilitation, IsDemolition = model.IsDemolition, IsSaleOrTransfer = model.IsSaleOrTransfer, IsNonConstructionLoan = model.IsNonConstructionLoan, IsOther = model.IsOther, OtherDescription = model.IsOther ? model.OtherDescription : null, TotalProjectArea = model.TotalProjectArea, TotalGroundDisturbance = model.TotalGroundDisturbance, IsOldStructure = model.IsOldStructure, IsHistoricOrGovtProperty = model.IsHistoricOrGovtProperty, HistoricPropertyName = model.HistoricPropertyName, IsMississippiLandmarks = model.IsMississippiLandmarks, IsDocumentSentViaEmail = model.IsDocumentSentViaEmail }; _context.Requests.Add(request); _context.SaveChanges(); //Saving attachments if (model.AttachmentList != null) { var attachments = model.AttachmentList.Split(';'); if (attachments.Length > 0) { foreach (var file in attachments) { var fileArr = file.Split(','); byte[] fileBytes = Convert.FromBase64String(fileArr[0]); var fileName = fileArr[1]; var fileType = fileArr[2]; var fileComment = fileArr[3]; //Save File to folder string folderPath = HttpContext.Current.Server.MapPath("~/Attachments"); if (!Directory.Exists(folderPath)) { //If Directory (Folder) does not exists. Create it. Directory.CreateDirectory(folderPath); } string imgPath = Path.Combine(folderPath, request.RequestId + "_" + fileName); File.WriteAllBytes(imgPath, fileBytes); var attachment = new Attachment() { Name = fileName, Type = fileType, Comments = fileComment, RequestId = request.RequestId }; _context.Attachments.Add(attachment); _context.SaveChanges(); } } } if (model.Status == Convert.ToInt32(RequestStatus.Submitted)) { // Saving clock information var clock = new Clock() { RequestId = request.RequestId, ClockDate = DateTime.Now.AddDays(30), ClockStatus = (Int16)(ClockStatus.Start) }; _context.Clocks.Add(clock); _context.SaveChanges(); } return(true); }
private bool SaveArchitecturalResponse(RequestVM model, bool?IsReqAddInfo, string userId) { var responseDb = _context.RequestResponses.SingleOrDefault(p => p.RequestId == model.RequestId && p.RequestAssignmentId == model.RequestAssignment.RequestAssignmentId); if (responseDb != null) { if (IsReqAddInfo == true) { responseDb.ArchitectResponse = Convert.ToInt16(ReviewerResponse.RequestAdditionalInformation); } else { responseDb.ArchitectResponse = Convert.ToInt16(ReviewerResponse.Eligible); // if request more information checkbox is not checked that means approved for now } responseDb.IsNoHistoricProperty = model.RequestResponse.IsNoHistoricProperty; responseDb.IsHistoricProperty = model.RequestResponse.IsHistoricProperty; //responseDb.IsNoEffect = model.RequestResponse.IsNoEffect; //responseDb.IsNoAdverseEffect = model.RequestResponse.IsNoAdverseEffect; //responseDb.IsNoAdverseEffectWithCondition = model.RequestResponse.IsNoAdverseEffectWithCondition; responseDb.ArchitectComment = model.RequestResponse.ArchitectComment; responseDb.ArchitectUserId = userId; responseDb.ArchitectUnknownProperties = model.RequestResponse.UnknownProperties; responseDb.ArchitectEligibleProperties = model.RequestResponse.EligibleProperties; responseDb.ArchitectInEligibleProperties = model.RequestResponse.InEligibleProperties; //responseDb. _context.SaveChanges(); } else { var response = new RequestResponse() { RequestId = model.RequestId ?? 0, RequestAssignmentId = model.RequestAssignment.RequestAssignmentId ?? 0, IsHistoricProperty = model.RequestResponse.IsHistoricProperty, IsNoHistoricProperty = model.RequestResponse.IsNoHistoricProperty, //IsNoEffect = model.RequestResponse.IsNoEffect, //IsNoAdverseEffect = model.RequestResponse.IsNoAdverseEffect, //IsNoAdverseEffectWithCondition = model.RequestResponse.IsNoAdverseEffectWithCondition, ArchitectResponse = IsReqAddInfo == true?Convert.ToInt16(ReviewerResponse.RequestAdditionalInformation) : Convert.ToInt16(ReviewerResponse.Eligible), ArchitectComment = model.RequestResponse.ArchitectComment, ArchitectUserId = userId, ArchitectEligibleProperties = model.RequestResponse.EligibleProperties, ArchitectInEligibleProperties = model.RequestResponse.InEligibleProperties, ArchitectUnknownProperties = model.RequestResponse.UnknownProperties }; _context.RequestResponses.Add(response); _context.SaveChanges(); } var requestAssignment = _context.RequestAssignments.Single(p => p.RequestAssignmentId == model.RequestAssignment.RequestAssignmentId); if (model.RequestResponse.ResponseType == ReviewerResponseType.SaveAndSubmit) { //if (model.RequestResponse.ArchitectResponse == Convert.ToInt16(ReviewerResponse.Eligible)) //{ // requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.Approved); //} //else if (model.RequestResponse.ArchitectResponse == Convert.ToInt16(ReviewerResponse.NotEligible)) //{ // requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.Rejected); //} if (IsReqAddInfo == true) { requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired); } else { requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.Approved); // Approved for now if reviewer does not need more information. } if (model.RequestResponse.ArchitectResponse == Convert.ToInt16(ReviewerResponse.RequestAdditionalInformation)) { requestAssignment.ArchitechStatus = Convert.ToInt32(ReviewerRequestStatus.MoreInfoRequired); // Stop internal clock in case of reviewer need more information var internalClock = _context.Clocks.Single(p => p.RequestId == model.RequestId); internalClock.InternalClockStatus = Convert.ToInt16(ClockStatus.Stop); var internalRemainingDays = internalClock.InternalClockDate.Value.Date.Subtract(DateTime.Now.Date).TotalDays; internalClock.InternalRemainingDays = Convert.ToInt32(internalRemainingDays); _context.SaveChanges(); } } _context.SaveChanges(); return(true); }