示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }