public async Task <ActionResult> Post([FromBody] CreationBranchDTO creationBranchDTO)
        {
            var entity = mapper.Map <Branch>(creationBranchDTO);

            context.Add(entity);
            await context.SaveChangesAsync();

            var branchDTO = mapper.Map <BranchDTO>(entity);

            return(new CreatedAtRouteResult("GetBranch", new { id = branchDTO.Id }, branchDTO));
        }
Beispiel #2
0
        public async Task <ActionResult <Product> > CreateProduct([FromBody] Product product)
        {
            context.Products.Add(product);
            await context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetProductById), new { id = product.Id }, product));
        }
        public async Task <ActionResult> Post([FromForm] CreationProductDTO creationProductDTO)
        {
            var entity = mapper.Map <Product>(creationProductDTO);

            context.Add(entity);
            using (var stream = new MemoryStream())
            {
                await creationProductDTO.Image.CopyToAsync(stream);

                entity.Image = Convert.ToBase64String(stream.ToArray());
            }
            await context.SaveChangesAsync();

            var dto = mapper.Map <ProductDTO>(entity);

            return(new CreatedAtRouteResult("GetProduct", new { id = entity.Id }, dto));
        }
Beispiel #4
0
        public async Task <ActionResult <AccountDto> > CreateAccount(AccountForCreationDto createAccountDto)
        {
            // duplicate field validation
            var usernameExists = await UsernameExists(createAccountDto.Username);

            if (usernameExists)
            {
                return(Conflict("Username already exists"));
            }

            var emailExists = await EmailExists(createAccountDto.Email);

            if (emailExists)
            {
                return(Conflict("Email already exists"));
            }

            // since contact number is not required we should check if its null first
            if (createAccountDto.ContactNumber != null)
            {
                var contactExists = await ContactExists(createAccountDto.ContactNumber);

                if (contactExists)
                {
                    return(Conflict("Contact Number already exists"));
                }
            }

            // map dto to entity
            var account = mapper.Map <Account> (createAccountDto);

            // add the registration date
            account.RegistrationDate = DateTime.Now;

            // save the account
            Accounts.Add(account);
            await context.SaveChangesAsync();

            // return account dto at location
            var accountDto = mapper.Map <AccountDto> (account);

            return(CreatedAtAction(nameof(GetAccountById), new { id = accountDto.Id }, accountDto));
        }