public OrderGeneralInfoViewModel(OrderGeneralInfo model, string state) : this() { if (model == null) return; Address = new AddressWithCountyViewModel(model.PropertyAddress); Address.State = state; BorrowerFirstName = model.BorrowerFirstName; BorrowerLastName = model.BorrowerLastName; LoanNumber = model.LoanNumber; }
public RequestDetailsViewModel(Order order, IReferenceManagement refManager, AppraiserOrder appraiserOrder, ISecurityContext securityContext) { if (order != null) { bool isAppraiserUser = new RoleType[] { RoleType.AppraisalCompanyAdmin, RoleType.Appraiser, RoleType.CompanyAdminAndAppraiser } .Contains(securityContext.CurrentUser.PrimaryRole.RoleType); bool isDVSUser = new RoleType[] { RoleType.DvsAdmin, RoleType.DvsDisbursementsProcessor, RoleType.DvsSuperAdmin } .Contains(securityContext.CurrentUser.PrimaryRole.RoleType); AcceptOrderData = new RequestDetailsAcceptOrderViewModel(); if (appraiserOrder != null) { Distance = appraiserOrder.Distance; AppraiserOrderId = appraiserOrder.Id; AllowAcceptDeclineOrder = appraiserOrder.Order.OrderStatus == OrderStatus.PendingAssignment && (isDVSUser || (!appraiserOrder.IsDeclined && isAppraiserUser)); AcceptOrderData.DefaultAppraiserId = appraiserOrder.AppraiserUser.Id; AcceptOrderData.DefaultAppraiserFirstName = appraiserOrder.AppraiserUser.User.FirstName; AcceptOrderData.DefaultAppraiserLastName = appraiserOrder.AppraiserUser.User.LastName; AcceptOrderData.DefaultAppraiserEmail = appraiserOrder.AppraiserUser.User.Email; AcceptOrderData.IsOtherAppraiser = false; } else { if (order.AcceptedAppraiserUser != null) { AcceptedInfo = String.Format("Accepted on {0} {1} by {2} ({3})", order.AcceptDate.Value.Date.ToString(Constants.DateTimeFormats.Date), order.AcceptDate.Value.ToString(Constants.DateTimeFormats.Time), order.AcceptedAppraiserUser.User.FullName, order.AcceptedAppraiserUser.User.Email); } else { AllowAcceptDeclineOrder = isDVSUser && order.OrderStatus == OrderStatus.PendingAssignment; } AcceptOrderData.IsOtherAppraiser = order.AcceptedAppraiserUser == null; } Address propertyAddress = order.GeneralInfo.PropertyAddress; if (!string.IsNullOrEmpty(order.GeocodingCounty)) propertyAddress.County = order.GeocodingCounty; Address = new AddressWithCountyViewModel { City = propertyAddress.City, County = propertyAddress.County, State = propertyAddress.State, Street = propertyAddress.Street, Street2 = propertyAddress.Street2, ZIP = propertyAddress.ZIP }; IsRush = order.AppraisalInfo.Rush; IsSecondAppraisalOrDuplicateAppraisal = order.AppraisalInfo.SecondDuplicateAppraisal; IsSupplementalREOAddendum = order.AppraisalInfo.SupplementalREOAddendum; DueDate = order.DueDate.Value; AppraisalFormType = order.AppraisalInfo.AppraisalForm.HasValue ? refManager.GetAppraisalForms().Single(e => e.Id == order.AppraisalInfo.AppraisalForm.Value).FormAbbreviation : null; ReviewFormType = order.AppraisalInfo.ReviewForm.HasValue ? refManager.GetAppraisalForms().Single(e => e.Id == order.AppraisalInfo.ReviewForm.Value).FormAbbreviation : null; AppraisalType = order.AppraisalInfo.AppraisalType.Value; LoanPurpose = refManager.GetReference(ReferenceType.LoanPurposeTypes)[order.LoanAndContactInfo.LoanPurposeTypeId.Value]; Occupancy = refManager.GetReference(ReferenceType.OccupancyTypes)[order.AppraisalInfo.OccupancyTypeId.Value]; PropertyType = refManager.GetReference(ReferenceType.PropertyTypes)[order.AppraisalInfo.PropertyTypeId.Value]; LoanType = order.AppraisalInfo.LoanType.HasValue ? order.AppraisalInfo.LoanType.Value.ToString() : Constants.Text.EmptyField; if (order.LoanAndContactInfo.LoanPurpose == Model.Enums.OrderManagement.LoanPurpose.Purchase) PurchasePrice = order.LoanAndContactInfo.PurchasePrice.Value.ToString(); TotalFee = order.AppraisersFee; Instructions = order.LoanAndContactInfo.Instructions != null ? order.LoanAndContactInfo.Instructions.ToList().Select(s => s.Id) : new List<int>(); } }