public ActionResult Edit(Guid id) { List<ViewModels.Contacts.ContactViewModel> employeeContactList; List<ViewModels.Billing.BillingRateViewModel> billingRateList; List<ViewModels.Billing.BillingGroupViewModel> billingGroupList; List<ViewModels.Matters.MatterTypeViewModel> matterTypeList; List<ViewModels.Matters.CourtTypeViewModel> courtTypeList; List<ViewModels.Matters.CourtGeographicalJurisdictionViewModel> courtGeographicalJurisdictionList; List<ViewModels.Matters.CourtSittingInCityViewModel> courtSittingInCityList; ViewModels.Matters.EditMatterViewModel viewModel; Common.Models.Matters.Matter model; employeeContactList = new List<ViewModels.Contacts.ContactViewModel>(); billingRateList = new List<ViewModels.Billing.BillingRateViewModel>(); billingGroupList = new List<ViewModels.Billing.BillingGroupViewModel>(); matterTypeList = new List<ViewModels.Matters.MatterTypeViewModel>(); courtTypeList = new List<ViewModels.Matters.CourtTypeViewModel>(); courtGeographicalJurisdictionList = new List<ViewModels.Matters.CourtGeographicalJurisdictionViewModel>(); courtSittingInCityList = new List<ViewModels.Matters.CourtSittingInCityViewModel>(); using (IDbConnection conn = Data.Database.Instance.GetConnection()) { model = Data.Matters.Matter.Get(id, conn, false); if (model.BillTo != null) model.BillTo = Data.Contacts.Contact.Get(model.BillTo.Id.Value, conn, false); if (model.DefaultBillingRate != null) model.DefaultBillingRate = Data.Billing.BillingRate.Get(model.DefaultBillingRate.Id.Value, conn, false); if (model.BillingGroup != null) model.BillingGroup = Data.Billing.BillingGroup.Get(model.BillingGroup.Id.Value, conn, false); if (model.MatterType != null) model.MatterType = Data.Matters.MatterType.Get(model.MatterType.Id.Value, conn, false); if (model.CourtType != null) model.CourtType = Data.Matters.CourtType.Get(model.CourtType.Id.Value, conn, false); if (model.CourtGeographicalJurisdiction != null) model.CourtGeographicalJurisdiction = Data.Matters.CourtGeographicalJurisdiction.Get(model.CourtGeographicalJurisdiction.Id.Value, conn, false); if (model.CourtSittingInCity != null) model.CourtSittingInCity = Data.Matters.CourtSittingInCity.Get(model.CourtSittingInCity.Id.Value, conn, false); Data.Contacts.Contact.ListEmployeesOnly(conn, false).ForEach(x => { employeeContactList.Add(Mapper.Map<ViewModels.Contacts.ContactViewModel>(x)); }); Data.Billing.BillingRate.List(conn, false).ForEach(x => { ViewModels.Billing.BillingRateViewModel vm = Mapper.Map<ViewModels.Billing.BillingRateViewModel>(x); vm.Title += " (" + vm.PricePerUnit.ToString("C") + ")"; billingRateList.Add(vm); }); Data.Billing.BillingGroup.List(conn, false).ForEach(x => { ViewModels.Billing.BillingGroupViewModel vm = Mapper.Map<ViewModels.Billing.BillingGroupViewModel>(x); vm.Title += " (" + vm.Amount.ToString("C") + ")"; billingGroupList.Add(vm); }); Data.Matters.MatterType.List(conn, false).ForEach(x => { ViewModels.Matters.MatterTypeViewModel vm = Mapper.Map<ViewModels.Matters.MatterTypeViewModel>(x); matterTypeList.Add(vm); }); Data.Matters.CourtType.List(conn, false).ForEach(x => { ViewModels.Matters.CourtTypeViewModel vm = Mapper.Map<ViewModels.Matters.CourtTypeViewModel>(x); courtTypeList.Add(vm); }); Data.Matters.CourtGeographicalJurisdiction.List(conn, false).ForEach(x => { ViewModels.Matters.CourtGeographicalJurisdictionViewModel vm = Mapper.Map<ViewModels.Matters.CourtGeographicalJurisdictionViewModel>(x); courtGeographicalJurisdictionList.Add(vm); }); Data.Matters.CourtSittingInCity.List(conn, false).ForEach(x => { ViewModels.Matters.CourtSittingInCityViewModel vm = Mapper.Map<ViewModels.Matters.CourtSittingInCityViewModel>(x); courtSittingInCityList.Add(vm); }); } viewModel = new ViewModels.Matters.EditMatterViewModel(); viewModel.Matter = Mapper.Map<ViewModels.Matters.MatterViewModel>(model); viewModel.Matter.BillTo = Mapper.Map<ViewModels.Contacts.ContactViewModel>(model.BillTo); viewModel.Matter.DefaultBillingRate = Mapper.Map<ViewModels.Billing.BillingRateViewModel>(model.DefaultBillingRate); viewModel.Matter.BillingGroup = Mapper.Map<ViewModels.Billing.BillingGroupViewModel>(model.BillingGroup); viewModel.Matter.CourtType = Mapper.Map<ViewModels.Matters.CourtTypeViewModel>(model.CourtType); viewModel.Matter.CourtGeographicalJurisdiction = Mapper.Map<ViewModels.Matters.CourtGeographicalJurisdictionViewModel>(model.CourtGeographicalJurisdiction); viewModel.Matter.CourtSittingInCity = Mapper.Map<ViewModels.Matters.CourtSittingInCityViewModel>(model.CourtSittingInCity); viewModel.EmployeeContactList = employeeContactList; viewModel.BillingRateList = billingRateList; viewModel.BillingGroupList = billingGroupList; viewModel.MatterTypeList = matterTypeList; viewModel.CourtTypes = courtTypeList; viewModel.CourtGeographicalJurisdictions = courtGeographicalJurisdictionList; viewModel.CourtSittingInCities = courtSittingInCityList; ViewBag.Matter = model.Title; ViewBag.MatterId = model.Id; if (viewModel.Matter.MatterType != null && viewModel.Matter.MatterType.Id.HasValue) viewModel.MatterTypeId = viewModel.Matter.MatterType.Id.Value; if (viewModel.Matter.DefaultBillingRate != null && viewModel.Matter.DefaultBillingRate.Id.HasValue) viewModel.DefaultBillingRateId = viewModel.Matter.DefaultBillingRate.Id.Value; if (viewModel.Matter.BillingGroup != null && viewModel.Matter.BillingGroup.Id.HasValue) viewModel.BillingGroupId = viewModel.Matter.BillingGroup.Id.Value; if (viewModel.Matter.CourtType != null && viewModel.Matter.CourtType.Id.HasValue) viewModel.CourtTypeId = viewModel.Matter.CourtType.Id.Value; if (viewModel.Matter.CourtGeographicalJurisdiction != null && viewModel.Matter.CourtGeographicalJurisdiction.Id.HasValue) viewModel.CourtGeographicalJurisdictionId = viewModel.Matter.CourtGeographicalJurisdiction.Id.Value; if (viewModel.Matter.CourtSittingInCity != null && viewModel.Matter.CourtSittingInCity.Id.HasValue) viewModel.CourtSittingInCityId = viewModel.Matter.CourtSittingInCity.Id.Value; return View(viewModel); }
public ActionResult Edit(Guid id) { List<ViewModels.Contacts.ContactViewModel> employeeContactList; List<ViewModels.Billing.BillingRateViewModel> billingRateList; List<ViewModels.Billing.BillingGroupViewModel> billingGroupList; List<ViewModels.Matters.MatterTypeViewModel> matterTypeList; ViewModels.Matters.EditMatterViewModel viewModel; Common.Models.Matters.Matter model; employeeContactList = new List<ViewModels.Contacts.ContactViewModel>(); billingRateList = new List<ViewModels.Billing.BillingRateViewModel>(); billingGroupList = new List<ViewModels.Billing.BillingGroupViewModel>(); matterTypeList = new List<ViewModels.Matters.MatterTypeViewModel>(); model = Data.Matters.Matter.Get(id); if (model.LeadAttorney != null) model.LeadAttorney = Data.Contacts.Contact.Get(model.LeadAttorney.Id.Value); if (model.BillTo != null) model.BillTo = Data.Contacts.Contact.Get(model.BillTo.Id.Value); if (model.DefaultBillingRate != null) model.DefaultBillingRate = Data.Billing.BillingRate.Get(model.DefaultBillingRate.Id.Value); if (model.BillingGroup != null) model.BillingGroup = Data.Billing.BillingGroup.Get(model.BillingGroup.Id.Value); Data.Contacts.Contact.ListEmployeesOnly().ForEach(x => { employeeContactList.Add(Mapper.Map<ViewModels.Contacts.ContactViewModel>(x)); }); Data.Billing.BillingRate.List().ForEach(x => { ViewModels.Billing.BillingRateViewModel vm = Mapper.Map<ViewModels.Billing.BillingRateViewModel>(x); vm.Title += " (" + vm.PricePerUnit.ToString("C") + ")"; billingRateList.Add(vm); }); Data.Billing.BillingGroup.List().ForEach(x => { ViewModels.Billing.BillingGroupViewModel vm = Mapper.Map<ViewModels.Billing.BillingGroupViewModel>(x); vm.Title += " (" + vm.Amount.ToString("C") + ")"; billingGroupList.Add(vm); }); Data.Matters.MatterType.List().ForEach(x => { ViewModels.Matters.MatterTypeViewModel vm = Mapper.Map<ViewModels.Matters.MatterTypeViewModel>(x); matterTypeList.Add(vm); }); viewModel = new ViewModels.Matters.EditMatterViewModel(); viewModel.Matter = Mapper.Map<ViewModels.Matters.MatterViewModel>(model); viewModel.LeadAttorney = new ViewModels.Matters.MatterContactViewModel(); viewModel.LeadAttorney.Contact = Mapper.Map<ViewModels.Contacts.ContactViewModel>(model.LeadAttorney); viewModel.Matter.BillTo = Mapper.Map<ViewModels.Contacts.ContactViewModel>(model.BillTo); viewModel.Matter.DefaultBillingRate = Mapper.Map<ViewModels.Billing.BillingRateViewModel>(model.DefaultBillingRate); viewModel.Matter.BillingGroup = Mapper.Map<ViewModels.Billing.BillingGroupViewModel>(model.BillingGroup); ViewData["EmployeeContactList"] = employeeContactList; ViewData["BillingRateList"] = billingRateList; ViewData["BillingGroupList"] = billingGroupList; ViewData["MatterTypeList"] = matterTypeList; ViewData["Matter"] = model.Title; ViewData["MatterId"] = model.Id; return View(viewModel); }