public IList <PermanentClientNote> LoadPermanentClientsNotesFor(int clientId)
        {
            IList <PermanentClientNote> notes = new List <PermanentClientNote>();

            using (SqlConnection connection = CreateConnection())
            {
                using (SqlDataReader dataReader = SqlHelper.ExecuteReader(connection,
                                                                          CommandType.StoredProcedure,
                                                                          "NotesClientPerm_LoadForAClient",
                                                                          CreateNotesClientPerm_LoadForAClientParameters
                                                                              (clientId)))
                {
                    CleverReader cleverReader = new CleverReader(dataReader);
                    while (cleverReader.Read())
                    {
                        string parsedNotes = CustomerNotesParser.Parse(cleverReader.ToString("notes"));

                        PermanentClientNote note = new PermanentClientNote(cleverReader.FromBigInteger("NotesID"),
                                                                           cleverReader.FromBigInteger("ClientID"),
                                                                           cleverReader.ToDate("Created"),
                                                                           parsedNotes,
                                                                           cleverReader.ToInteger("CreatedBy"),
                                                                           cleverReader.ToString("EmployeeName"),
                                                                           cleverReader.ToInteger("ModifiedBy"),
                                                                           cleverReader.ToString(
                                                                               "ModifiedByEmployeeName"),
                                                                           cleverReader.ToDate("Modified"));
                        notes.Add(note);
                    }
                }
            }
            return(notes);
        }
예제 #2
0
        protected void SaveButton_Click(object sender, EventArgs e)
        {
            int    employeeId = CurrentPrincipal.CffUser.EmployeeId;
            string comment    = string.IsNullOrEmpty(CommentTextBox.Text) ? "" : CommentTextBox.Text;

            if (!string.IsNullOrEmpty(comment))
            {
                //comment = comment.Replace("\n", ";");  //dbb
                comment = comment.Replace("\n", " ");
            }

            ICffClient xClient = (SessionWrapper.Instance.Get != null) ? SessionWrapper.Instance.Get.ClientFromQueryString :
                                 (!string.IsNullOrWhiteSpace(QueryString.ViewIDValue)) ? SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).ClientFromQueryString : null;

            bool bIsAllClientsSelected = (SessionWrapper.Instance.Get != null) ? SessionWrapper.Instance.Get.IsAllClientsSelected :
                                         (!string.IsNullOrEmpty(QueryString.ViewIDValue)) ? SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).IsAllClientsSelected : false;

            bool bIsClientSelected = (SessionWrapper.Instance.Get != null) ? SessionWrapper.Instance.Get.IsClientSelected :
                                     (!string.IsNullOrEmpty(QueryString.ViewIDValue)) ? SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).IsClientSelected : false;

            bool bIsCustomerSelected = (SessionWrapper.Instance.Get != null) ? SessionWrapper.Instance.Get.IsCustomerSelected :
                                       (!string.IsNullOrEmpty(QueryString.ViewIDValue)) ? SessionWrapper.Instance.GetSession(QueryString.ViewIDValue).IsCustomerSelected : false;

            if (bIsAllClientsSelected)
            {
                int clientId      = SessionWrapper.Instance.Get.ClientFromQueryString.Id;
                var permanentNote = new PermanentClientNote(comment, clientId, employeeId);
                presenter.SaveClientPermanentNote(permanentNote);
            }
            else if (bIsCustomerSelected)
            {
                //int customerId = SessionWrapper.Instance.Get.Customer.Id;
                int          customerId      = SessionWrapper.Instance.Get.CustomerFromQueryString.Id;
                string       nextCallDueText = EncodedText(NextCallDueTextBox.Text);
                ActivityType activityType    = ActivityType.Parse(int.Parse(ActivityTypeDropDownList.SelectedValue));
                NoteType     noteType        = NoteType.Parse(int.Parse(NoteTypeDropDownList.SelectedValue));

                SaveNoteForCustomer(comment, employeeId, customerId, nextCallDueText, activityType, noteType);
            }
            else if (bIsClientSelected)
            {
                if (PermanentNoteCheckBox.Checked)
                {
                    int clientId      = xClient.Id;
                    var permanentNote = new PermanentClientNote(comment, clientId, employeeId);
                    presenter.SaveClientPermanentNote(permanentNote);
                }
                else
                {
                    int          clientId     = xClient.Id;
                    ActivityType activityType = ActivityType.Parse(int.Parse(ActivityTypeDropDownList.SelectedValue));
                    NoteType     noteType     = NoteType.Parse(int.Parse(NoteTypeDropDownList.SelectedValue));
                    var          clientNote   = new ClientNote(activityType, noteType, comment, clientId, employeeId);
                    presenter.SaveClientNote(clientNote);
                }
            }
        }
예제 #3
0
        public void UpdateClientPermanentNote(long noteId, string comment, int modifiedBy)
        {
            ArgumentChecker.ThrowIfNullOrEmpty(comment, "comment");

            PermanentClientNote permanentClientNote = new PermanentClientNote(noteId, comment, modifiedBy);

            repository.UpdatePermanentClientNote(permanentClientNote);
            view.DisplayFeedback();
        }
예제 #4
0
        public void Show(PermanentClientNote selectedPermanentClientNote)
        {
            CommentEditTextBox.Text = EncodedText(CustomerNotesParser.RemoveBr(selectedPermanentClientNote.Comment));
            CommentEditTextBox.Focus();
            ViewState.Add(SelectedNote, selectedPermanentClientNote);
            CustomerNoteDescriptors.Visible = false;
            Visible = true;

            BlockScreen();
        }
예제 #5
0
        private void UpdateClientPermanentNote(object orginalNote, int modifiedBy, string newComment)
        {
            newComment = newComment.Replace("&amp;", "&");
            PermanentClientNote originalPermanentClientNote = orginalNote as PermanentClientNote;

            if (originalPermanentClientNote != null)
            {
                presenter.UpdateClientPermanentNote(originalPermanentClientNote.NoteId, newComment, modifiedBy);
            }
        }
 public void InsertClientPermanentNote(PermanentClientNote permanentClientNote)
 {
     ArgumentChecker.ThrowIfNull(permanentClientNote, "clientPermanentNote");
     using (SqlConnection connection = CreateConnection())
     {
         SqlHelper.ExecuteNonQuery(connection,
                                   CommandType.StoredProcedure,
                                   "NoteClientPerm_Save",
                                   CreateSaveClientPermanentNoteParameters(permanentClientNote));
     }
 }
        private static SqlParameter[] CreateSaveClientPermanentNoteParameters(PermanentClientNote permanentClientNote)
        {
            SqlParameter customerIdParameter = new SqlParameter("@ClientID", SqlDbType.Int);
            SqlParameter createdByParameter  = new SqlParameter("@CreatedBy", SqlDbType.Int);
            SqlParameter noteParamter        = new SqlParameter("@Note", SqlDbType.Text);

            customerIdParameter.Value = permanentClientNote.ClientId;
            createdByParameter.Value  = permanentClientNote.AuthorId;
            noteParamter.Value        = permanentClientNote.Comment;

            return(new[] { customerIdParameter, createdByParameter, noteParamter });
        }
        private static SqlParameter[] CreateUpdateClientPermanentNoteParameters(PermanentClientNote permanentClientNote)
        {
            SqlParameter noteIdParameter     = new SqlParameter("@NoteId", SqlDbType.BigInt);
            SqlParameter modifiedByParameter = new SqlParameter("@ModifiedBy", SqlDbType.Int);
            SqlParameter commentParameter    = new SqlParameter("@Comment", SqlDbType.Text);

            noteIdParameter.Value     = permanentClientNote.NoteId;
            modifiedByParameter.Value = permanentClientNote.ModifiedBy;
            commentParameter.Value    = permanentClientNote.Comment;

            return(new[]
            {
                noteIdParameter,
                commentParameter,
                modifiedByParameter
            });
        }
예제 #9
0
 public bool UpdatePermanentClientNotes(PermanentClientNote clientNote, ref string errMsg)
 {
     try
     {
         repository.UpdatePermanentClientNote(clientNote);
         return(true);
     }
     catch (System.Exception exc)
     {
         if (exc.Message.ToLower().IndexOf("foreign key constraint", 0) > 0)
         {
             errMsg = "Unable to modify notes for this activity type.";
         }
         else
         {
             errMsg = exc.Message;
         }
         return(false);
     }
 }
        public IList <PermanentClientNote> LoadPermanentClientsNotesForOnRange(int clientId, DateRange dateRange)
        {
            ArgumentChecker.ThrowIfNull(dateRange, "fromDate");
            SqlParameter[] sqlParameters = new[]
            {
                CreateClientIdParameter(clientId),
                CreateFromDateParameter(dateRange.StartDate),
                CreateToDateParameters(dateRange.EndDate)
            };
            IList <PermanentClientNote> notes = new List <PermanentClientNote>();

            using (SqlConnection connection = CreateConnection())
            {
                using (SqlDataReader dataReader = SqlHelper.ExecuteReader(connection,
                                                                          CommandType.StoredProcedure,
                                                                          "NotesClientPerm_LoadForAClientOnRange",
                                                                          sqlParameters))
                {
                    CleverReader cleverReader = new CleverReader(dataReader);
                    while (cleverReader.Read())
                    {
                        string parsedNotes = CustomerNotesParser.Parse(cleverReader.ToString("notes"));

                        PermanentClientNote note = new PermanentClientNote(cleverReader.FromBigInteger("NotesID"),
                                                                           cleverReader.FromBigInteger("ClientID"),
                                                                           cleverReader.ToDate("Created"),
                                                                           parsedNotes,
                                                                           cleverReader.ToInteger("CreatedBy"),
                                                                           cleverReader.ToString("EmployeeName"),
                                                                           cleverReader.ToInteger("ModifiedBy"),
                                                                           cleverReader.ToString(
                                                                               "ModifiedByEmployeeName"),
                                                                           cleverReader.ToDate("Modified"));
                        notes.Add(note);
                    }
                }
            }
            return(notes);
        }
 public void SaveClientPermanentNote(PermanentClientNote permanentClientNote)
 {
     ArgumentChecker.ThrowIfNull(permanentClientNote, "clientPermanentNote");
     notesRepository.InsertClientPermanentNote(permanentClientNote);
     view.DisplayFeedback();
 }