Example #1
0
        public void SaveContact(Contact contact)
        {
            ValidateContact(contact);

            if (contact.ContactID == 0)
            {
                ContactDAL.InsertContact(contact);
            }
            else
            {
                ContactDAL.UpdateContact(contact);
            }
        }
Example #2
0
        //Validerar Contact-objektet, skulle behöva förbättras på vissa punkter
        //Lagrar olika felmeddelanden i en Exception som kastas om valideringen inte går igenom.
        private void ValidateContact(Contact contact)
        {
            var ex = new ArgumentException();
            var reEmail = new Regex(@"^[a-z][a-z0-9_\-~]*(\.[a-z0-9_\-~]+)?@([a-z0-9_\-]+\.){1,2}[a-z]{2,6}$");
            var reName = new Regex(@"^[a-zA-ZåäöÅÄÖ\- ]+$");

            if (contact.EmailAddress == null)
            {
                ex.Data.Add("EmailAddressEmpty", "E-mail address is required");
            }
            else if (contact.EmailAddress.Length > 50)
            {
                ex.Data.Add("EmailAddressLength", "E-mail address is too long");
            }
            else if (!reEmail.IsMatch(contact.EmailAddress))
            {
                ex.Data.Add("FirstNameCharacters", "E-mail address is not valid.");
            }
            if (contact.FirstName.Length > 50)
            {
                ex.Data.Add("FirstNameLength", "The first name is too long");
            }
            else if (!reName.IsMatch(contact.FirstName))
            {
                ex.Data.Add("FirstNameCharacters", "The first name contains invalid characters.");
            }
            if (contact.LastName.Length > 50)
            {
                ex.Data.Add("LastNameLength", "The last name is too long");
            }
            else if (!reName.IsMatch(contact.LastName))
            {
                ex.Data.Add("LastNameCharacters", "The last name contains invalid characters.");
            }

            if (ex.Data.Count > 0)
            {
                throw ex;
            }
        }
Example #3
0
        public void lvContact_InsertItem(Contact contact)
        {
            Validate("InsertGroup"); //causesvalidation=true på "lägg till"-kontrollen verkar bara validera mot modelstate
            vsErrors1.ShowModelStateErrors = true;

            if (IsValid)
            {
                //Om ModelState inte validerar måste felmeddelanden visas.
                //ShowModelStateErrors är satt till false i utgångsläget för att inte visa både meddelanden
                //från validation-kontrollerna och från modelstatevalideringen samtidigt.
                //Om validation-kontrollerna validerar till true måste modelstateerrors visas.

                //vsErrors1.ShowModelStateErrors = true;

                if (ModelState.IsValid)
                {
                    try
                    {
                        Service.SaveContact(contact);
                        SuccessMessage = "Kontakten har lagts till.";
                        ShowSuccessMessage();
                    }
                    catch (Exception ex)
                    {
                        HandleException(ex);
                    }
                }
                else
                {
                }
            }
            else
            {
                //sätt showmodelstateerrors till false igen om validation-kontrollerna inte valideras till true.

                //vsErrors1.ShowModelStateErrors = false;
            }
        }
Example #4
0
 public void DeleteContact(Contact contact)
 {
     ContactDAL.DeleteContact(contact.ContactID);
 }
Example #5
0
        public void lvContact_UpdateItem(Contact contact)
        {
            Validate("EditGroup"); //causesvalidation=true på "lägg till"-kontrollen verkar bara validera mot modelstate
            vsErrors2.ShowModelStateErrors = true;

            if (IsValid)
            {
                //Om ModelState inte validerar måste felmeddelanden visas.
                //ShowModelStateErrors är satt till false i utgångsläget för att inte visa både meddelanden
                //från validation-kontrollerna och från modelstatevalideringen samtidigt.
                //Om validation-kontrollerna validerar till true måste modelstateerrors visas.

                //vsErrors2.ShowModelStateErrors = true;

                if (ModelState.IsValid)
                {
                    try
                    {
                        var existingContact = Service.GetContact(contact.ContactID);

                        if (contact == null)
                        {
                            ModelState.AddModelError("", String.Format("Kontakt med kontakt-id {0} kunde inte hittas.", contact.ContactID));
                            //AddValidatorControl(String.Format("Kontakt med kontakt-id {0} kunde inte hittas.", contact.ContactID));
                            return;
                        }

                        Service.SaveContact(contact);
                        SuccessMessage = "Kontakten har uppdaterats.";
                        ShowSuccessMessage();
                    }
                    catch (Exception ex)
                    {
                        HandleException(ex);
                    }
                }
            }
            else
            {
                //sätt showmodelstateerrors till false igen om validation-kontrollerna inte valideras till true.
                //vsErrors2.ShowModelStateErrors = false;
            }
        }