public ActionResult AddNote(OpportunityNoteHelper model)
        {
            var relatedOpportunity = _db.Opportunities.First(o => o.OpportunityId == model.RelatedOpportunityId);
            var noteString         = new StringBuilder();

            relatedOpportunity.LastContactDate = DateTime.Now;
            relatedOpportunity.LastContactedBy = User.Identity.Name;

            if (model.NoteTemplates == null)
            {
                _db.OpportunityNotes.Add(new OpportunityNote
                {
                    RelatedOpportunityId = model.RelatedOpportunityId,
                    User       = User.Identity.Name,
                    Note       = model.Note,
                    InsertDate = DateTime.Now,
                    Contact    = model.Contact
                });
                _db.SaveChanges();
            }
            else
            {
                foreach (var template in model.NoteTemplates)
                {
                    noteString.AppendLine(template);
                }

                _db.OpportunityNotes.Add(new OpportunityNote
                {
                    RelatedOpportunityId = model.RelatedOpportunityId,
                    User       = User.Identity.Name,
                    Note       = noteString + ";" + model.Note,
                    InsertDate = DateTime.Now,
                    Contact    = model.Contact
                });
                _db.SaveChanges();
            }

            if (model.IsActivity == false)
            {
                return(RedirectToAction("Details", new { id = model.RelatedOpportunityId }));
            }
            switch (model.Identifier)
            {
            case 1:
                _helper.LogActivity(User.Identity.Name + " je obavio uspješan poziv vezan za prodajnu priliku: " + relatedOpportunity.OpportunityTitle + ", za tvrtku: " + relatedOpportunity.RelatedOrganization.SubjectName, User.Identity.Name, model.RelatedOpportunityId, ActivityTypeEnum.Succall, DepartmentEnum.Sales, ModuleEnum.Opportunities);
                break;

            case 2:
                _helper.LogActivity(User.Identity.Name + " je obavio kraći informativni poziv vezano za prodajnu priliku: " + relatedOpportunity.OpportunityTitle + ", za tvrtku: " + relatedOpportunity.RelatedOrganization.SubjectName, User.Identity.Name, model.RelatedOpportunityId, ActivityTypeEnum.Succalshort, DepartmentEnum.Sales, ModuleEnum.Opportunities);
                break;

            case 3:
                _helper.LogActivity(model.User + " je pokušao obaviti telefonski poziv vezano za prodajnu priliku: " + relatedOpportunity.OpportunityTitle + ", za tvrtku: " + relatedOpportunity.RelatedOrganization.SubjectName, User.Identity.Name, model.RelatedOpportunityId, ActivityTypeEnum.Unsuccal, DepartmentEnum.Sales, ModuleEnum.Opportunities);
                break;
            }

            return(RedirectToAction("Details", new { id = model.RelatedOpportunityId }));
        }
        public void LogEmail(OpportunityNoteHelper model)
        {
            var relatedOpportunity = _db.Opportunities.First(o => o.OpportunityId == model.RelatedOpportunityId);

            relatedOpportunity.LastContactDate = DateTime.Now;
            relatedOpportunity.LastContactedBy = model.User;
            _helper.LogActivity(model.User + " je poslao e-mail na adresu: " + model.Email + " na temu prezentacije usluge u sklopu prodajne prilike: " + relatedOpportunity.OpportunityTitle, User.Identity.Name, model.RelatedOpportunityId, ActivityTypeEnum.Email, DepartmentEnum.Sales, ModuleEnum.Opportunities);
        }
        public ActionResult DeleteNote(OpportunityNoteHelper model)
        {
            OpportunityNote opportunityNote = _db.OpportunityNotes.First(on => on.Id == model.NoteId);

            _db.OpportunityNotes.Remove(opportunityNote);
            _db.SaveChanges();
            return(RedirectToAction("Details", new { id = model.RelatedOpportunityId }));
        }
        public ActionResult EditNote(OpportunityNoteHelper model)
        {
            var noteForEdit = _db.OpportunityNotes.First(n => n.Id == model.NoteId);

            noteForEdit.Note       = model.Note;
            noteForEdit.Contact    = model.Contact;
            noteForEdit.UpdateDate = DateTime.Now;
            _db.SaveChanges();

            return(RedirectToAction("Details", new { id = model.RelatedOpportunityId }));
        }