public IHttpActionResult GetMomentListByCriteria(RequestModel model) { List <MomentDetailsList> momentsList = new List <MomentDetailsList>(); List <MomentDetailsWithImage> list = new List <MomentDetailsWithImage>(); try { if (string.IsNullOrEmpty(model.NativeLang) && (string.IsNullOrEmpty(model.LearningLang)) && model.FollowingUserId == 0) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Either both Native and Learning Language or Following User Id is required."))); } if (model.FollowingUserId == 0) { list = _momentsService.GetMomentListByNativeLearnLang(model.NativeLang, model.LearningLang); } else { list = _momentsService.GetMomentsListByFollowerUserId(model.FollowingUserId); } foreach (var item in list) { MomentDetailsList details = new MomentDetailsList(); details.CountryImagePath = imagePath + item.Flag_Icon; details.RepliesCount = _momentsService.GetAllMomentsLIstByParentId(item.MomentId).Count; details.FavouritesCount = _favService.GetFavouritesListBymomentId(item.MomentId).Count; if (string.IsNullOrEmpty(item.ImagePath)) { details.ImagePath = noImagePath; } else { var extension = item.ImagePath.Split('.')[1]; var imageName = item.ImagePath.Split('.')[0] + "_thumbnail"; details.ImagePath = proImagePath + imageName + "." + extension; } //details.ImagePath= item.ImagePath == null ? noImagePath : item.ImagePath == string.Empty ? noImagePath : proImagePath + item.ImagePath; var userLangDetails = _userLangService.GetLanguageListByUserId(item.PosterUserId); if (userLangDetails != null) { var langDetails = _langService.GetLanguageDetailsById(userLangDetails.Learning_LanguageId); if (langDetails != null) { details.LearningLangAbbrev = langDetails.Abbreviation; } langDetails = _langService.GetLanguageDetailsById(userLangDetails.Native_LanguageId); if (langDetails != null) { details.NativeLangAbbrev = langDetails.Abbreviation; } } details.Message = item.Message; details.MomentId = item.MomentId; details.Name = item.Name; details.ParentId = item.ParentId; details.PosterUserId = item.PosterUserId; details.PostingTime = item.PostingTime; if (item.UserUploadedId > 0) { var userUploads = _userUploadsService.GetUserUploadsById(item.UserUploadedId); if (userUploads != null) { details.UploadedImage = userUploads.UploadedImagePath == null ? string.Empty : momentUploadImagePath + userUploads.UploadedImagePath; details.UploadedAudio = userUploads.UploadedAudioPath == null ? string.Empty : momentUploadAudioPath + userUploads.UploadedAudioPath; } } momentsList.Add(details); } } catch (Exception e) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e.Message))); } return(Ok(momentsList)); }
public IHttpActionResult GetMomentsListByLangForExchange(RequestModel model) { List <MomentDetailsList> momentsList = new List <MomentDetailsList>(); try { if ((string.IsNullOrEmpty(model.NativeLang)) || (string.IsNullOrEmpty(model.LearningLang))) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Learning Language and Native Language are required."))); } var language = _langService.GetAllLangugaes().ToList(); long nativeId = language.Where(a => a.Abbreviation.ToLower() == model.LearningLang.ToLower()).FirstOrDefault().Language_Id; long learningLangId = language.Where(a => a.Abbreviation.ToLower() == model.NativeLang.ToLower()).FirstOrDefault().Language_Id; var objList = _momentsService.GetMomentListByUserIdForExchange(nativeId, learningLangId).Where(a => a.ParentId == 0).ToList(); foreach (var item in objList) { MomentDetailsList details = new MomentDetailsList(); details.Message = item.Message; details.MomentId = item.MomentId; details.Name = item.Name; details.ParentId = item.ParentId; details.PosterUserId = item.PosterUserId; details.PostingTime = item.PostingTime; if (string.IsNullOrEmpty(item.ImagePath)) { details.ImagePath = noImagePath; } else { var extension = item.ImagePath.Split('.')[1]; var imageName = item.ImagePath.Split('.')[0] + "_thumbnail"; details.ImagePath = proImagePath + imageName + "." + extension; } // details.ImagePath = item.ImagePath == null ? noImagePath : item.ImagePath == string.Empty ? noImagePath : proImagePath + item.ImagePath; var userLangDetails = _userLangService.GetLanguageListByUserId(item.PosterUserId); if (userLangDetails != null) { var langDetails = _langService.GetLanguageDetailsById(userLangDetails.Learning_LanguageId); if (langDetails != null) { details.LearningLangAbbrev = langDetails.Abbreviation; } langDetails = _langService.GetLanguageDetailsById(userLangDetails.Native_LanguageId); if (langDetails != null) { details.NativeLangAbbrev = langDetails.Abbreviation; } } details.RepliesCount = _momentsService.GetAllMomentsLIstByParentId(details.MomentId).Count; details.FavouritesCount = _favService.GetFavouritesListBymomentId(details.MomentId).Count; if (item.UserUploadedId > 0) { var userUploads = _userUploadsService.GetUserUploadsById(item.UserUploadedId); if (userUploads != null) { details.UploadedImage = userUploads.UploadedImagePath == null ? string.Empty : momentUploadImagePath + userUploads.UploadedImagePath; details.UploadedAudio = userUploads.UploadedAudioPath == null ? string.Empty : momentUploadAudioPath + userUploads.UploadedAudioPath; } } momentsList.Add(details); } } catch (Exception e) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, e.Message))); } return(Ok(momentsList)); }
public IHttpActionResult GetAllMomentsLIstByParentId(RequestModel model) { List <MomentDetailsList> momentsList = new List <MomentDetailsList>(); try { if (string.IsNullOrEmpty(model.Id)) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Moment Id is required."))); } long id = Convert.ToInt64(model.Id); var objList = _momentsService.GetAllMomentsLIstByParentId(id).ToList(); foreach (var item in objList) { MomentDetailsList details = new MomentDetailsList(); details.Message = item.Message; details.MomentId = item.MomentId; details.Name = item.Name; details.ParentId = item.ParentId; details.PosterUserId = item.PosterUserId; details.PostingTime = item.PostingTime; if (string.IsNullOrEmpty(item.ImagePath)) { details.ImagePath = noImagePath; } else { var extension = item.ImagePath.Split('.')[1]; var imageName = item.ImagePath.Split('.')[0] + "_thumbnail"; details.ImagePath = proImagePath + imageName + "." + extension; } // details.ImagePath = item.ImagePath == null ? noImagePath : item.ImagePath == string.Empty ? noImagePath : proImagePath + item.ImagePath; var userLangDetails = _userLangService.GetLanguageListByUserId(item.PosterUserId); if (userLangDetails != null) { var langDetails = _langService.GetLanguageDetailsById(userLangDetails.Learning_LanguageId); if (langDetails != null) { details.LearningLangAbbrev = langDetails.Abbreviation; } langDetails = _langService.GetLanguageDetailsById(userLangDetails.Native_LanguageId); if (langDetails != null) { details.NativeLangAbbrev = langDetails.Abbreviation; } } if (item.UserUploadedId > 0) { var userUploads = _userUploadsService.GetUserUploadsById(item.UserUploadedId); if (userUploads != null) { details.UploadedImage = userUploads.UploadedImagePath == null ? string.Empty : momentUploadImagePath + userUploads.UploadedImagePath; details.UploadedAudio = userUploads.UploadedAudioPath == null ? string.Empty : momentUploadAudioPath + userUploads.UploadedAudioPath; } } details.CountryImagePath = imagePath + item.Flag_Icon; momentsList.Add(details); } } catch (Exception e) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.Forbidden, e.Message))); } return(Ok(momentsList)); }