Класс для хранения данных по контакту.
예제 #1
0
파일: ContactService.cs 프로젝트: dha01/IS
 /// <summary>
 /// Создает контакт.
 /// </summary>
 /// <param name="contact">Контакт.</param>
 /// <returns>Идентификаторо созданного контакта.</returns>
 public int Create(ContactItem contact)
 {
     if (string.IsNullOrWhiteSpace(contact.Value))
     {
         throw new Exception("Поле 'Value' не должно быть пустым.");
     }
     return _contactRepository.Create(contact);
 }
예제 #2
0
        /// <summary>
        /// Создает новый контакт.
        /// </summary>
        /// <param name="contact">Контакт.</param>
        /// <returns>Идентификатор созданного контакта.</returns>
        public int Create(ContactItem contact)
        {
            using (var sqlh = new SqlHelper())
            {
                return sqlh.ExecScalar<int>(@"
            insert into Contact.contact
            (
            contact_type,
            value
            )
            values
            (
            (select top 1 t.contact_type from Contact.contact_type t where t.code = @Type),
            @Value
            )

            select scope_identity()", contact);
            }
        }
예제 #3
0
        public void SetUp()
        {
            _contactRepository = Mock.Of<IContactRepository>();
            _contactService = new ContactService(_contactRepository);

            _contact = new ContactItem()
            {
                Id = 1,
                Type = ContactType.MobilePhone,
                Value = "8-999-999-99-99"
            };
        }
예제 #4
0
 public ActionResult Create(ContactItem contact)
 {
     Access.CheckAccess("Contact.Creator");
     return RedirectToAction("Index", new { id = _contactService.Create(contact) });
 }
예제 #5
0
 public ActionResult Update(ContactItem contact)
 {
     Access.CheckAccess("Contact.Updater");
     _contactService.Update(contact);
     return RedirectToAction("Index", new { id = contact.Id });
 }
예제 #6
0
 /// <summary>
 /// Интерфейс для создания контакта.
 /// </summary>
 /// <returns></returns>
 public ActionResult New()
 {
     Access.CheckAccess("Contact.Creator");
     var default_item = new ContactItem
     {
         Value = ""
     };
     return View(default_item);
 }
예제 #7
0
 /// <summary>
 /// Обновляет данные по контакту.
 /// </summary>
 /// <param name="contact">Контакт.</param>
 public void Update(ContactItem contact)
 {
     using (var sqlh = new SqlHelper())
     {
         sqlh.ExecNoQuery(@"
     update Contact.contact
     set
     contact_type = (select top 1 t.contact_type from Contact.contact_type t where t.code = @Type),
     value = @Value
     where contact = @Id", contact);
     }
 }
예제 #8
0
파일: ContactService.cs 프로젝트: dha01/IS
        /// <summary>
        /// Измененяет данные о контакте.
        /// </summary>
        /// <param name="contact">Контакт.</param>
        public void Update(ContactItem contact)
        {
            if (string.IsNullOrWhiteSpace(contact.Value))
            {
                throw new Exception("Поле 'Value' не должно быть пустым.");
            }

            if (GetById(contact.Id) == null)
            {
                throw new Exception("Контакт не найден.");
            }

            _contactRepository.Update(contact);
        }
예제 #9
0
        public void SetUp()
        {
            _transactionScope = new TransactionScope();
            _contactRepository = new ContactRepository();

            _contact = new ContactItem()
            {
                Type = ContactType.MobilePhone,
                Value = "8-999-999-99-99"
            };
            _contactNew = new ContactItem()
            {
                Type = ContactType.CityPhone,
                Value = "000-00-00"
            };
        }
예제 #10
0
 /// <summary>
 /// Проверяет эквивалентны ли два контакта.
 /// </summary>
 /// <param name="first_contact"></param>
 /// <param name="second_contact"></param>
 private void AreEqualContacts(ContactItem first_contact, ContactItem second_contact)
 {
     Assert.AreEqual(first_contact.Id, second_contact.Id);
     Assert.AreEqual(first_contact.Type, second_contact.Type);
     Assert.AreEqual(first_contact.Value, second_contact.Value);
 }