public ActionResult Edit(int?id) { BOL.Repository.CommonRepository repo = new BOL.Repository.CommonRepository(); ViewBag.Contacts = new SelectList(db.GetContactsBySiteCoID(siteusercompanyid), "ViewID", "Customer"); ViewBag.Purpose = new SelectList(db.CoCallPurposes.Where(p => p.SiteCoID == siteusercompanyid).OrderBy(p => p.CallPurposeOrder), "CallPurposeID", "PurposeName"); ViewBag.Resources = new SelectList(db.SiteUsers.Where(p => p.SiteCoID == siteusercompanyid).OrderBy(p => p.UserDisplayName), "SiteUserID", "UserDisplayName"); ViewBag.Status = new SelectList(repo.GetActivityStatus(siteusercompanyid), "StatusID", "StatusName"); CallModels.NewCall model = new CallModels.NewCall(); ActivitiesCalls call = db.ActivitiesCalls.Where(p => p.CallID == (id ?? 0)).FirstOrDefault(); if (call != null) { model = new CallModels.NewCall() { CallID = call.CallID, ContactID = call.ContactID, Date = call.CallDate.HasValue ? call.CallDate.Value.Add(call.CallTime ?? new TimeSpan()) : call.CallDate, Duration = call.CallDuration, JobID = call.ProjectID, Notes = call.Notes, PurposeID = call.CallPurposeID, ResourceID = call.SiteUserID, Subject = call.Subject, StatusID = call.StatusID }; } var contactData = FetchContactData(call.ContactID ?? 0); model.Phone = contactData.Item1; model.Mobile = contactData.Item2; ViewBag.Jobs = new SelectList(contactData.Item3.Select(p => new { p.ViewID, p.Project }), "ViewID", "Project", model.JobID); return(View("_Edit", model)); }
private int SaveCall(CallModels.NewCall Model) { int siteCoID = siteusercompanyid; ActivitiesCalls newCall = new ActivitiesCalls() { CallDate = Model.Date, CallTime = Model.Date.HasValue ? Model.Date.Value.TimeOfDay : new TimeSpan(), CallDuration = Model.Duration, CallPurposeID = Model.PurposeID, SiteCoID = siteusercompanyid, SiteUserID = Model.ResourceID ?? siteuserid, ProjectID = Model.JobID ?? 0, Subject = Model.Subject, ContactID = Model.ContactID, Notes = Model.Notes, CallID = Model.CallID ?? 0, StatusID = Model.StatusID }; BOL.Repository.CommonRepository repo = new BOL.Repository.CommonRepository(); int callID = repo.SaveCall(newCall); repo.UpdatePhone(Model.ContactID ?? 0, (int)EnumWrapper.PhoneTypes.Mobile, Model.Mobile, true); repo.UpdatePhone(Model.ContactID ?? 0, (int)EnumWrapper.PhoneTypes.Phone, Model.Phone, true); if (callID > 0) { return(callID); } else { return(0); } }