Esempio n. 1
0
        public async Task<Response> CreateAsync(UrlModel item)
        {
            var returnValue = new Response();
            try
            {
                using (var dc = _conn.GetContext())
                {
                    var localobject = Mapper.Map<urls>(item);
                    dc.urls.Add(localobject);
                    await dc.SaveChangesAsync();

                    var resultSet = Mapper.Map<UrlModel>(localobject);

                    returnValue.Model = resultSet;
                }
            }
            catch (Exception e)
            {
                // Log exception and compose Error message
                _logger.LogError("Create URL Record Error : ", e);
                returnValue.Succeeded = false;
                returnValue.Errors.Add("Unexpected error occurred saving the url.");
            }
            return returnValue;
        }
Esempio n. 2
0
        public async Task<Response> RetrieveByUrlAsync(string url)
        {
            var returnValue = new Response();
            try
            {
                using (var dc = _conn.GetContext())
                {
                    var retrivedObject = await dc.urls.FirstOrDefaultAsync(a => a.actualUrl.Equals(url));
                    var resultSet = Mapper.Map<UrlModel>(retrivedObject);

                    returnValue.Model = resultSet;
                }
            }
            catch (Exception e)
            {
                // Log exception and compose Error message
                _logger.LogError("Retrieve URL by Actual Url Error : ", e);
                returnValue.Succeeded = false;
                returnValue.Errors.Add("Unexpected error occurred finding the url.");
            }
            return returnValue;
        }
Esempio n. 3
0
        public async Task<Response> RetrieveAsync(int id)
        {
            var returnValue = new Response();
            try
            {
                using (var dc = _conn.GetContext())
                {
                    var retrivedObject = await 
                        dc.urls.FindAsync(id);
                    var resultSet = Mapper.Map<UrlModel>(retrivedObject);

                    returnValue.Model = resultSet;
                }
            }
            catch (Exception e)
            {
                // Log exception and compose Error message
                _logger.LogError("Retrieve URL Error : ", e);
                returnValue.Succeeded = false;
                returnValue.Errors.Add("Unexpected error occurred retrieving the url.");
            }
            return returnValue;
        }
Esempio n. 4
0
 /// <summary>
 /// Helper method to append create short url
 /// </summary>
 /// <param name="response">Response object with UrlModel</param>
 /// <returns>UrlModel in Response Object</returns>
 private Response ComposeShortUrlModel(Response response)
 {
     var updatedUrl = (UrlModel)response.Model;
     updatedUrl.ShortUrl = HostUrl + _conversionService.LongToBase62String(updatedUrl.Id);
     response.Model = updatedUrl;
     return response;
 }