public async Task <GenericRespons <IEnumerable <Customer> > > GetCustomers()
        {
            var customersList = await _cosmosDbService.GetItemsAsync("SELECT * FROM c");

            var respons = new GenericRespons <IEnumerable <Customer> >();

            respons.Status  = 200;
            respons.Payload = customersList;
            return(respons);
        }
        public async Task <GenericRespons <string> > DeleteCustomer(string id)
        {
            var cosmosRespons = await _cosmosDbService.DeleteItemAsync(id);

            var respons = new GenericRespons <string>();

            respons.Status  = 200;
            respons.Payload = "Deleted";
            await _eventLoggerService.LoggEvent(new CustomerEvent(id, "DeleteCustomer"));

            return(respons);
        }
        public async Task <GenericRespons <Customer> > AddCustomer(Customer customer)
        {
            var respons = new GenericRespons <Customer>();

            var validate = ValidateNewCustomer(customer);

            if (!string.IsNullOrEmpty(validate))
            {
                respons.Status           = 400;
                respons.Payload          = customer;
                respons.ErrorDescription = validate;
                return(respons);
            }

            await _cosmosDbService.AddItemAsync(customer);

            await _eventLoggerService.LoggEvent(new CustomerEvent(customer.Id, "NewCustomer"));

            respons.Status  = 200;
            respons.Payload = customer;
            return(respons);
        }