protected void SetViewBagItems(Order order = null, EnumAccountType accountType = EnumAccountType.All) { ViewBag.Accounts = new SelectList(AccountServices.GetAllValidAccounts(CurrentTenantId, accountType), "AccountID", "AccountNameCode"); var Tenant = caCurrent.CurrentTenant(); if (Tenant != null) { var tenantMainLocation = new PropertyContactInfo() { PropertyCode = "TenantLocMain", AddressLine1 = Tenant.TenantAddress1, AddressLine2 = Tenant.TenantAddress2, AddressLine3 = Tenant.TenantAddress3, AddressLine4 = Tenant.TenantAddress4, AddressPostcode = Tenant.TenantPostalCode }; var addressList = new List <PropertyContactInfo>() { tenantMainLocation }; foreach (var location in Tenant.TenantLocations.OrderBy(m => m.WarehouseName)) { addressList.Add(new PropertyContactInfo() { AddressLine1 = location.AddressLine1, AddressLine2 = location.AddressLine2, AddressLine3 = location.AddressLine3, AddressLine4 = location.AddressLine4, AddressPostcode = location.PostalCode, PropertyCode = "TenantLoc" + location.WarehouseId }); } ViewBag.TenantAddresses = addressList.Select(m => new SelectListItem() { Text = m.FullAddress(), Value = m.PropertyCode, Selected = m.PropertyCode == "TenantLoc" + order?.ShipmentWarehouseId ? true : false }); var reportTypes = LookupServices.GetAllReportTypes(CurrentTenantId).ToList(); var rTypes = reportTypes.Where(x => x.AllowReportType == true).Select(repTypes => new { repTypes.ReportTypeId, repTypes.TypeName }).ToList(); var cTypes = reportTypes.Where(x => x.AllowChargeTo == true).Select(repTypes => new { repTypes.ReportTypeId, repTypes.TypeName }).ToList(); ViewBag.ReportTypes = new SelectList(rTypes, "ReportTypeId", "TypeName", (order != null ? order.ReportTypeId : null)); ViewBag.ReportTypeChargeTo = new SelectList(cTypes, "ReportTypeId", "TypeName", (order != null ? order.ReportTypeChargeId : null)); } var properties = PropertyService.GetAllValidProperties(); ViewBag.PropertyAddresses = new SelectList(properties, "PPropertyId", "FullAddress"); ViewBag.Properties = new SelectList(properties, "PPropertyId", "FullAddress"); ViewBag.Properties = new SelectList(properties, "PPropertyId", "FullAddress", order?.AccountAddressId); var loans = LookupServices.GetAllValidTenantLoanTypes(CurrentTenantId).Select(ln => new { LoanID = ln.LoanID, LoanName = ln.LoanName + " - Loan Days= " + ln.LoanDays }).ToList(); ViewBag.TenantLoanTypes = new SelectList(loans, "LoanID", "LoanName"); ViewBag.AuthUsers = new SelectList(OrderService.GetAllAuthorisedUsers(CurrentTenantId), "UserId", "UserName", order != null ? order.CreatedBy : CurrentUserId); ViewBag.JobTypes = new SelectList(OrderService.GetAllValidJobTypes(CurrentTenantId), "JobTypeId", "Name", order != null && order.JobTypeId > 0 ? order.JobTypeId : null); ViewBag.JobSubTypes = new SelectList(OrderService.GetAllValidJobSubTypes(CurrentTenantId), "JobSubTypeId", "Name", order != null && order.JobSubTypeId > 0 ? order.JobSubTypeId : null); ViewBag.Departments = new SelectList(LookupServices.GetAllValidTenantDepartments(CurrentTenantId), "DepartmentId", "DepartmentName"); ViewBag.SLAPs = new SelectList(LookupServices.GetAllValidSlaPriorities(CurrentTenantId), "SLAPriorityId", "Priority"); ViewBag.AccountContacts = new SelectList(AccountServices.GetAllTopAccountContactsByTenantId(CurrentTenantId), "AccountContactId", "ContactName", order?.AccountContactId); ViewBag.AccountContacts = new SelectList(AccountServices.GetAllValidAccountContactsByAccountId(order?.AccountID ?? 0, CurrentTenantId), "AccountContactId", "ContactName", order?.AccountContactId); ViewBag.AccountAddress = new SelectList(AccountServices.GetAccountAddress(), "AddressID", "FullAddressText", order?.AccountAddressId); ViewBag.CurrentUserName = CurrentUser.UserName; if (order != null) { ViewBag.OrderNotesList = order.OrderNotes.Where(x => x.IsDeleted != true).Select(s => new OrderNotesViewModel() { Notes = s.Notes, OrderNoteId = s.OrderNoteId, NotesByName = OrderService.GetAuthorisedUserNameById(s.CreatedBy ?? 0), NotesDate = s.DateCreated }).ToList(); ViewBag.OrderDetails = order.OrderDetails; ViewBag.OrderProcesses = order.OrderProcess; ViewBag.SupplierID = new SelectList(AccountServices.GetAllValidAccounts(CurrentTenantId, EnumAccountType.Supplier), "AccountID", "CompanyName", order.AccountID); } var expecMints = new Dictionary <string, string>(); for (var h = 0; h <= 7; h++) { for (var m = 0; m <= 45; m += 15) { if (h == 0 && m == 0) { continue; } if (h == 7 && m == 45) { continue; } expecMints.Add(((h * 60) + m).ToString(), h + " hour " + (m > 0 ? m + " minutes" : "")); } } for (var i = 2; i <= 5; i++) { expecMints.Add((TimeSpan.FromDays(i).TotalMinutes).ToString(), i + " days"); } if (order != null && order.OrderID > 0) { ViewBag.ExpectedHoursList = order.ExpectedHours != null ? new SelectList(expecMints, "Key", "Value", order.ExpectedHours.Value) : new SelectList(expecMints, "Key", "Value"); var tenants = PropertyService.GetAppointmentRecipientTenants(order.OrderID).ToList(); if (tenants.Any(i => i != null)) { List <int> selectedTIds = tenants.Select(m => m.PTenantId).ToList(); ViewBag.PropertyTenants = new MultiSelectList(PropertyService.GetAllCurrentTenants(order.PPropertyId ?? 0), "PTenantId", "TenantFullName", selectedTIds); ViewBag.PropertyTenantIds = selectedTIds; } else { ViewBag.PropertyTenants = new MultiSelectList(PropertyService.GetAllCurrentTenants(order.PPropertyId ?? 0), "PTenantId", "TenantFullName"); } } else { ViewBag.ExpectedHoursList = new SelectList(expecMints, "Key", "Value"); } }