public async Task<int> ConvertSinglePostAsync(PostViewModel sqlPost) { if (sqlPost == null) { return -1; } LocationSql location = new LocationSql(); var addres = await this.geolocationService.GetCurrentCivilAddresByLocationAsync(); if (addres != null) { location.Town = addres.Town; location.Country = addres.Country; } var images = new List<ImageSql>(); // TODO: ViewModel to SqLite model make it right way sqlPost.Images.ForEach(i => { var imgInfo = new ImageInfoSql() { OriginalName = i.ImageInfo.OriginalName, FileExstension = i.ImageInfo.FileExstension, ByteArrayContent = i.ImageInfo.ByteArrayContent }; var img = new ImageSql() { Title = i.Title, Description = i.Description, ImageInfo = imgInfo }; images.Add(img); }); var post = new PostSql() { Title = sqlPost.Title, Content = sqlPost.Content, Category = sqlPost.Category, IsBest = sqlPost.IsBest, Location = location, Images = images }; var result = await this.sqLiteService.AddNewPostAsync(post); return result; }
public LocationParse ConvertSingleLocation(LocationSql sqlLocation) { var parseLocation = new LocationParse() { Latitude = sqlLocation.Latitude, Longitude = sqlLocation.Longitude, Town = sqlLocation.Town, Country = sqlLocation.Country }; return parseLocation; }