Esempio n. 1
0
        public IHttpActionResult CreateConact(AddContactInput input)
        {
            int id = _IContact.CreateContact(input);

            AddContactOutput response = new AddContactOutput();

            response.Id = id;

            return(Ok(response));
        }
        public async Task <AddContactPayload> AddContactAsync(
            AddContactInput input,
            [ScopedService] ApplicationDbContext context,
            CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(input.Email))
            {
                return(new AddContactPayload(
                           new BadRequestError("The email cannot be empty.", "EMAIL_EMPTY")));
            }

            if (input.UserId.HasValue)
            {
                var userExists = await context.Users.AnyAsync(u => u.Id == input.UserId, cancellationToken);

                if (!userExists)
                {
                    return(new AddContactPayload(
                               new BadRequestError("The user with provided id doesn't exist.", "USER_EMPTY")));
                }
            }

            var contact = new Contact
            {
                Email       = input.Email,
                Address     = input.Address,
                PhoneNumber = input.PhoneNumber,
                UserId      = input.UserId
            };

            context.Contacts.Add(contact);
            try
            {
                await context.SaveChangesAsync(cancellationToken);
            }
            catch (System.Exception e)
            {
                throw;
            }
            //await context.SaveChangesAsync(cancellationToken);

            return(new AddContactPayload(contact));
        }
Esempio n. 3
0
        public async Task <AddContactPayload> AddContact(AddContactInput input, [Service] AppContext context)
        {
            var contact = new Contact
            {
                Name  = input.Name,
                Email = input.Email,
                Phone = input.Phone
            };

            contact.Notes.Add(new Note
            {
                Title = input.Title,
                Value = input.Note
            });

            await context.Contacts.AddAsync(contact);

            await context.SaveChangesAsync();

            return(new AddContactPayload(contact));
        }