Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }