public async Task <IHttpActionResult> Post([FromBody] TasktendreamCs data) { //if (data.VideoLessonId == null) //{ // return BadRequest("VideoLessonId not specified"); //} try { string UserName = User.Identity.Name; UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); Task_First tasktendream = userinfo.Task_First.FirstOrDefault(); if (tasktendream != null) { tasktendream.First = data.First; tasktendream.Second = data.Second; tasktendream.Third = data.Third; tasktendream.Four = data.Fourth; tasktendream.Five = data.Fifth; tasktendream.Six = data.Sixth; tasktendream.Seven = data.Seventh; tasktendream.Eight = data.Eighth; tasktendream.Nine = data.Ninth; tasktendream.Ten = data.Tenth; } else { Task_First usertasktendream = new Task_First(); usertasktendream.First = data.First; usertasktendream.Second = data.Second; usertasktendream.Third = data.Third; usertasktendream.Four = data.Fourth; usertasktendream.Five = data.Fifth; usertasktendream.Six = data.Sixth; usertasktendream.Seven = data.Seventh; usertasktendream.Eight = data.Eighth; usertasktendream.Nine = data.Ninth; usertasktendream.Ten = data.Tenth; userinfo.Task_First.Add(usertasktendream); } db.SaveChanges(); UserTaskCheck ustskch = userinfo.UserTaskChecks.FirstOrDefault(e => e.TaskId == 34); UserTaskCheck UserTaskCheck = new UserTaskCheck(); if (ustskch == null) { UserTaskCheck.TaskId = 34; UserTaskCheck.Status = false; } if (!string.IsNullOrEmpty(data.First) && !string.IsNullOrEmpty(data.Second) && !string.IsNullOrEmpty(data.Third) && !string.IsNullOrEmpty(data.Fourth) && !string.IsNullOrEmpty(data.Fifth) && !string.IsNullOrEmpty(data.Sixth) && !string.IsNullOrEmpty(data.Seventh) && !string.IsNullOrEmpty(data.Eighth) && !string.IsNullOrEmpty(data.Ninth) && !string.IsNullOrEmpty(data.Tenth)) { if (ustskch == null) { UserTaskCheck.Status = true; userinfo.UserTaskChecks.Add(UserTaskCheck); } else { ustskch.Status = true; } VideoL VideoL = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == 3 && e.language == "ru"); var test = VideoL.Tests.ToList(); if (test.Count == 0) { JVLO jv = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); var Moduls_userLevel = await db.Modul_userLevel.Where(e => e.LevelId <= userinfo.LevelId).ToListAsync(); var Moduls = Moduls_userLevel.Select(e => e.Modul).Where(e => e.Enable == true).ToList(); var EnableVideoXLs = new List <VideoXL>(); foreach (var Module in Moduls) { EnableVideoXLs.AddRange(Module.VideoXLs.Where(e => e.Enable == true).ToList()); } VideoXL NextVideoXL = EnableVideoXLs.Where(e => e.XId > 3).OrderBy(e => e.XId).FirstOrDefault(); if (NextVideoXL != null) { if (NextVideoXL.XId > jv.X) { jv.X = NextVideoXL.XId; } } } } await db.SaveChangesAsync(); return(Ok()); } catch { return(BadRequest("filed")); } }
// POST: api/Default public async Task <IHttpActionResult> Post(string language) { ResponseVideoLs response = new ResponseVideoLs(); var EnableVideoLs = new List <VideoL>(); var UVideoLessons = new List <UVideoLessons>(); try { if (language == null) { language = "ru"; } string UserName = User.Identity.Name; UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO JV = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); //-----GET User ENABLE VIDEOXLs---------------------------------------- var Moduls_userLevel = await db.Modul_userLevel.Where(e => e.LevelId <= userinfo.LevelId).ToListAsync(); var Moduls = Moduls_userLevel.Select(e => e.Modul).Where(e => e.Enable == true).ToList(); var EnableVideoXLs = new List <VideoXL>(); foreach (var Module in Moduls) { EnableVideoXLs.AddRange(Module.VideoXLs.Where(e => e.Enable == true).ToList()); } //-----END------------------------------------------------------------ EnableVideoXLs = EnableVideoXLs.OrderBy(e => e.XId).ToList(); foreach (var videoXL in EnableVideoXLs) { EnableVideoLs.AddRange(videoXL.VideoLs); } List <VideoL> videoizb = new List <VideoL>(); foreach (var izb in userinfo.Isbrannis.ToList()) { VideoL vid = EnableVideoLs.FirstOrDefault(e => e.language == language && e.XId == izb.VideoLXId); if (vid == null) { vid = EnableVideoLs.FirstOrDefault(e => e.language == "ru" && e.XId == izb.VideoLXId); } if (vid != null) { videoizb.Add(vid); } } foreach (var videoLs in videoizb) { string Image = videoLs.Iconimg != null?Url.Content(videoLs.Iconimg) : null; bool Enable = true; int Like = 0; int View = 0; int minute = 0; VideoLEM videLem = videoLs.VideoXL.VideoLEMs.FirstOrDefault(); if (videLem != null) { Like = videLem.Likes; View = videLem.Eye; minute = videLem.minute; } if (JV.X < videoLs.XId) { Image = videoLs.Iconimg != null?Url.Content(videoLs.Iconimg2) : null; Enable = false; } UVideoLessons.Add(new UVideoLessons { Id = videoLs.Id, MId = videoLs.Modul.XId, lang = videoLs.language, Name = videoLs.Name, Image = Image, Like = Like, View = View, minute = minute, Enable = Enable }); } response.status = "ok"; response.UVideoLessons = UVideoLessons; return(Json(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
// POST: api/Default public async Task <IHttpActionResult> Post([FromBody] VideoLessonCs data) { ResponseVideoL response = new ResponseVideoL(); UVideoLesson UVideoLesson = new UVideoLesson(); try { string UserName = User.Identity.Name; UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO JV = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); if (data == null) { return(BadRequest("data null")); } if (data.Id == null) { return(BadRequest("data id null")); } VideoL VideoL = await db.VideoLs.FindAsync(data.Id); if (VideoL == null) { return(BadRequest("VideoL null")); } if (VideoL.Modul.Enable != true) { return(BadRequest("VideoL Disable")); } if (VideoL.VideoXL.Enable != true) { return(BadRequest("VideoL Disable")); } if (VideoL.Modul.Modul_userLevel.FirstOrDefault().LevelId > userinfo.LevelId) { return(BadRequest("User level not available")); } if (VideoL.XId > JV.X) { return(BadRequest("User level not available")); } //-----GET User ENABLE VIDEOXLs---------------------------------------- var Moduls_userLevel = await db.Modul_userLevel.Where(e => e.LevelId <= userinfo.LevelId).ToListAsync(); var Moduls = Moduls_userLevel.Select(e => e.Modul).Where(e => e.Enable == true).ToList(); var EnableVideoXLs = new List <VideoXL>(); foreach (var Module in Moduls) { EnableVideoXLs.AddRange(Module.VideoXLs.Where(e => e.Enable == true).ToList()); } //-----END------------------------------------------------------------ var vxl = EnableVideoXLs.OrderBy(e => e.XId).ToList(); VideoXL vlXID = vxl.Where(e => e.XId < VideoL.XId).OrderByDescending(e => e.XId).FirstOrDefault(); VideoXL vnXID = vxl.Where(e => e.XId > VideoL.XId).OrderBy(e => e.XId).FirstOrDefault(); VideoL vl = null; VideoL vn = null; if (vlXID != null) { vl = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vlXID.XId && e.language == VideoL.language); if (vl == null && VideoL.language != "ru") { vl = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vlXID.XId && e.language == "ru"); } } if (vnXID != null) { vn = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vnXID.XId && e.language == VideoL.language); if (vn == null && VideoL.language != "ru") { vn = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vnXID.XId && e.language == "ru"); } } int Like = 0; int View = 0; bool test = false; if (VideoL.Tests.Count > 0) { test = true; ValitO valito = userinfo.ValitOS.FirstOrDefault(e => e.VdeoLXId == VideoL.XId); if (valito != null) { if (valito.KB > 74) { test = false; } } } bool FoolLook = false; LessonVideoTime look = userinfo.LessonVideoTimes.FirstOrDefault(e => e.LessonXId == VideoL.XId); if (look != null) { if (look.Status) { FoolLook = true; } } bool task = false; Models.Task Vtask = await db.Tasks.FirstOrDefaultAsync(e => e.LessonXId == VideoL.XId); if (Vtask != null) { UserTaskCheck UserTaskCheck = userinfo.UserTaskChecks.FirstOrDefault(e => e.TaskId == Vtask.Id); if (UserTaskCheck != null) { if (UserTaskCheck.Status == false) { task = true; } } else if (FoolLook == true) { task = true; UserTaskCheck newUserTaskCheck = new UserTaskCheck(); newUserTaskCheck.TaskId = Vtask.Id; newUserTaskCheck.Status = false; userinfo.UserTaskChecks.Add(newUserTaskCheck); await db.SaveChangesAsync(); } } VideoLEM videLem = VideoL.VideoXL.VideoLEMs.FirstOrDefault(); if (videLem != null) { Like = videLem.Likes; View = videLem.Eye; } bool certificate = false; double LastVXId = vxl.Where(e => e.MId == 4).Max(e => e.XId); if (VideoL.XId == LastVXId) { if (FoolLook == false) { certificate = true; } } bool liked = false; bool viewed = false; bool chosen = false; EyeV eye = userinfo.EyeVs.FirstOrDefault(e => e.VideoXId == VideoL.XId); if (eye != null) { viewed = true; } LikeV like = userinfo.LikeVs.FirstOrDefault(e => e.VideoXId == VideoL.XId); if (like != null) { liked = true; } Isbranni isb = userinfo.Isbrannis.FirstOrDefault(e => e.VideoLXId == VideoL.XId); if (isb != null) { chosen = true; } if (vl != null) { UVideoLesson.previousId = vl.Id; } if (vn != null) { UVideoLesson.nextId = vn.Id; } UVideoLesson.Id = VideoL.Id; UVideoLesson.lang = VideoL.language; UVideoLesson.Name = VideoL.Name; UVideoLesson.Link = VideoL.Link; UVideoLesson.Like = Like; UVideoLesson.Views = View; UVideoLesson.Liked = liked; UVideoLesson.Viewed = viewed; UVideoLesson.Chosen = chosen; UVideoLesson.FoolLook = FoolLook; UVideoLesson.Test = test; UVideoLesson.Task = task; UVideoLesson.certificate = certificate; response.status = "ok"; response.UVideoLesson = UVideoLesson; return(Json(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IHttpActionResult> Login(LoginBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bool sign = false; bool UserAPI = false; string ErrorMessage = null; UserToken UserTokenAPI = new UserToken(); try { var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://my.marinehealth.asia/api/auth/mobile"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"Email\":\"" + model.UserName + "\"," + "\"Password\":\"" + model.Password + "\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } string responsezec; WebResponse response = await httpWebRequest.GetResponseAsync(); using (Stream stream = response.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { responsezec = await reader.ReadToEndAsync(); } } UserTokenAPI = JsonConvert.DeserializeObject <UserToken>(responsezec); UserAPI = true; response.Close(); } catch { UserAPI = false; } ApplicationUser result = await UserManager.FindAsync(model.UserName, model.Password); if (result != null && UserAPI) { try { if (UserTokenAPI.Status == "Success") { sign = true; } else if (UserTokenAPI.Status == "TooManyAttempts") { ErrorMessage = "Cлишком много попыток, пожалуйста, попробуйте еще раз позже"; } else { ErrorMessage = "Имя пользователя или пароль указаны неверно."; } } catch { } } else if (UserAPI) { if (UserTokenAPI.Status == "Success") { var User = await UserManager.FindByNameAsync(model.UserName); if (User == null) { var user = new ApplicationUser() { UserName = model.UserName, Email = model.UserName }; IdentityResult CreateUserResult = await UserManager.CreateAsync(user, model.Password); if (!CreateUserResult.Succeeded) { return(GetErrorResult(CreateUserResult)); } try { if (UserTokenAPI.Token != null) { var rqstinfus = WebRequest.Create("https://my.marinehealth.asia/api/proxy/userprofile/get?includeSensitiveData=false"); var Httprqstinfus = (HttpWebRequest)rqstinfus; Httprqstinfus.PreAuthenticate = true; Httprqstinfus.Headers.Add("AuthToken", UserTokenAPI.Token); Httprqstinfus.Accept = "application/json"; string responseiu; WebResponse responseiuw = await Httprqstinfus.GetResponseAsync(); using (Stream stream = responseiuw.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { responseiu = await reader.ReadToEndAsync(); } } MHUserInfo MHUserInfo = JsonConvert.DeserializeObject <MHUserInfo>(responseiu); if (MHUserInfo.ImageFileName != null && MHUserInfo.Contacts.Count > 0) { MHUserInfo.ImageFileName = "https://my.marinehealth.asia/files/users/" + MHUserInfo.Contacts[0].UserId + "/images/" + MHUserInfo.ImageFileName; } UserInfo UserInfoNew = new UserInfo(); UserInfoNew.Lname = MHUserInfo.LastName; UserInfoNew.Fname = MHUserInfo.FirstName; UserInfoNew.Image = MHUserInfo.ImageFileName; UserInfoNew.UserName = model.UserName; UserInfoNew.LevelId = MHUserInfo.LevelId == null ? 0 : MHUserInfo.LevelId; UserInfoNew.RegTime = DateTime.Now.AddHours(6); db.UserInfoes.Add(UserInfoNew); JVLO jvnew = new JVLO(); jvnew.OV = 1; jvnew.TBB = 0; jvnew.UserName = model.UserName; jvnew.X = 1; db.JVLOes.Add(jvnew); await db.SaveChangesAsync(); } sign = true; } catch { sign = false; } } else { string code = await UserManager.GeneratePasswordResetTokenAsync(User.Id); var ResertPasswordResult = await UserManager.ResetPasswordAsync(User.Id, code, model.Password); if (ResertPasswordResult.Succeeded) { sign = true; } } } else { if (UserTokenAPI.Status == "TooManyAttempts") { ErrorMessage = "Cлишком много попыток, пожалуйста, попробуйте еще раз позже"; } else { ErrorMessage = "Имя пользователя или пароль указаны неверно."; } } } if (sign) { UT UserToken = await db.UTs.FirstOrDefaultAsync(e => e.UserName == model.UserName); if (UserToken != null && UserTokenAPI != null) { if (UserToken.Token != UserTokenAPI.Token) { UserToken.Token = UserTokenAPI.Token; } await db.SaveChangesAsync(); } else { UT newUserToken = new UT(); newUserToken.UserName = model.UserName; newUserToken.Token = UserTokenAPI.Token; newUserToken.Date = DateTime.Now.AddHours(6); db.UTs.Add(newUserToken); await db.SaveChangesAsync(); } return(Ok()); } return(BadRequest(ErrorMessage)); }
public async Task <ActionResult> Initialize(string language) { try { string UserName = GetUserName(); UT UserToken = await db.UTs.FirstOrDefaultAsync(e => e.UserName == UserName); if (UserToken != null) { var rqstinfus = WebRequest.Create("https://my.marinehealth.asia/api/proxy/userprofile/get?includeSensitiveData=false"); var Httprqstinfus = (HttpWebRequest)rqstinfus; Httprqstinfus.PreAuthenticate = true; Httprqstinfus.Headers.Add("AuthToken", UserToken.Token); Httprqstinfus.Accept = "application/json"; string responseiu; WebResponse responseiuw = Httprqstinfus.GetResponse(); using (Stream stream = responseiuw.GetResponseStream()) { using (StreamReader reader = new StreamReader(stream)) { responseiu = reader.ReadToEnd(); } } MHUserInfo MHUserInfo = JsonConvert.DeserializeObject <MHUserInfo>(responseiu); if (MHUserInfo.ImageFileName != null && MHUserInfo.Contacts.Count > 0) { MHUserInfo.ImageFileName = "https://my.marinehealth.asia/files/users/" + MHUserInfo.Contacts[0].UserId + "/images/" + MHUserInfo.ImageFileName; } UserInfo UserInfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); if (UserInfo != null) { UserInfo.Lname = MHUserInfo.LastName; UserInfo.Fname = MHUserInfo.FirstName; UserInfo.Image = MHUserInfo.ImageFileName; UserInfo.LevelId = MHUserInfo.LevelId == null ? 0 : MHUserInfo.LevelId; } else { UserInfo UserInfoNew = new UserInfo(); UserInfoNew.Lname = MHUserInfo.LastName; UserInfoNew.Fname = MHUserInfo.FirstName; UserInfoNew.Image = MHUserInfo.ImageFileName; UserInfoNew.UserName = UserName; UserInfoNew.LevelId = MHUserInfo.LevelId == null ? 0 : MHUserInfo.LevelId; UserInfoNew.RegTime = DateTime.Now.AddHours(6); db.UserInfoes.Add(UserInfoNew); JVLO jv = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); if (jv == null) { JVLO jvnew = new JVLO(); jvnew.OV = 1; jvnew.TBB = 0; jvnew.UserName = UserName; jvnew.X = 1; db.JVLOes.Add(jvnew); } } await db.SaveChangesAsync(); return(RedirectToAction("Modules", "Learning", new { language = language })); } } catch { } string ActionName = "Initialize"; return(RedirectToAction("ErrorLogOff", "Account", new { language = language, ActionName = ActionName })); }
public async Task <ActionResult> favorites(string language) { try { string UserName = GetUserName(); if (language == null) { language = "ru"; } UserInfo UserInfoOBJ = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO jv = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); UserProgress UserProgress = await UserGet.Progress(UserName, UserInfoOBJ.LevelId, language); var EnableVideoLs = new List <VideoL>(); foreach (var videoXL in UserProgress.EnableVideoXLs) { if (videoXL.XId <= jv.X) { EnableVideoLs.AddRange(videoXL.VideoLs); } } List <VideoL> videoizb = new List <VideoL>(); foreach (var izb in UserInfoOBJ.Isbrannis.ToList()) { VideoL vid = EnableVideoLs.Where(e => e.language == language && e.XId == izb.VideoLXId).FirstOrDefault(); if (vid == null) { vid = EnableVideoLs.Where(e => e.language == "ru" && e.XId == izb.VideoLXId).FirstOrDefault(); } if (vid != null) { videoizb.Add(vid); } } ViewBag.OUK = UserProgress.OUK; ViewBag.TBB = UserProgress.TBB; ViewBag.language = language; return(View(videoizb.ToList())); } catch { } string ActionName = "favorites"; return(RedirectToAction("ErrorLogOff", "Account", new { language = language, ActionName = ActionName })); }
// POST: api/Default public async Task <IHttpActionResult> Post([FromBody] UVideoLcompletionCs data) { ResponseUVideoLcompletion response = new ResponseUVideoLcompletion(); if (data == null) { return(BadRequest("data null")); } if (data.VideoId == null || (data.TestTotal == null && data.FoolLook == null)) { return(BadRequest("data null")); } VideoL video = await db.VideoLs.FindAsync(data.VideoId); if (video == null) { return(BadRequest("video null")); } try { string UserName = User.Identity.Name; UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO JV = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); bool LookVideo = true; bool Task = true; bool Test = true; LessonVideoTime look = userinfo.LessonVideoTimes.FirstOrDefault(e => e.LessonXId == video.XId); if (data.FoolLook == true) { if (look == null) { LessonVideoTime newlook = new LessonVideoTime(); newlook.LessonXId = video.XId; newlook.Status = true; userinfo.LessonVideoTimes.Add(newlook); await db.SaveChangesAsync(); } else if (look.Status == false) { look.Status = true; await db.SaveChangesAsync(); } response.msgfoollook = "ok"; } if (look != null) { if (look.Status == false) { LookVideo = false; } } Models.Task task = await db.Tasks.FirstOrDefaultAsync(e => e.LessonXId == video.XId); if (task != null) { UserTaskCheck UserTaskCheck = userinfo.UserTaskChecks.FirstOrDefault(e => e.TaskId == task.Id); if (UserTaskCheck != null) { if (UserTaskCheck.Status == false) { Task = false; } } } var test = video.Tests.ToList(); if (test.Count() > 0) { if (Task == false) { response.msgtesttotal = "Task not completed"; Test = false; } if (LookVideo == false) { response.msgtesttotal = "Video not fully viewed"; Test = false; } } if (test.Count() > 0 && Test == true) { ValitO vo = userinfo.ValitOS.FirstOrDefault(e => e.VdeoLXId == video.XId); int KB = vo != null ? vo.KB : 0; if (data.TestTotal != null) { if (data.TestTotal > 0) { if (vo == null) { KB = (int)data.TestTotal; ValitO newvo = new ValitO(); newvo.VdeoLXId = video.XId; newvo.KB = KB; userinfo.ValitOS.Add(newvo); await db.SaveChangesAsync(); } else if (vo.KB < data.TestTotal) { KB = (int)data.TestTotal; vo.KB = KB; await db.SaveChangesAsync(); } response.msgtesttotal = "ok"; } } if (KB < 75) { Test = false; } } if (LookVideo == true && Task == true && Test == true) { //-----GET User ENABLE VIDEOXLs---------------------------------------- var Moduls_userLevel = await db.Modul_userLevel.Where(e => e.LevelId <= userinfo.LevelId).ToListAsync(); var Moduls = Moduls_userLevel.Select(e => e.Modul).Where(e => e.Enable == true).ToList(); var EnableVideoXLs = new List <VideoXL>(); foreach (var Module in Moduls) { EnableVideoXLs.AddRange(Module.VideoXLs.Where(e => e.Enable == true).ToList()); } //-----END------------------------------------------------------------ var vxl = EnableVideoXLs.OrderBy(e => e.XId).ToList(); VideoXL NextVideoXL = EnableVideoXLs.Where(e => e.XId > video.XId).OrderBy(e => e.XId).FirstOrDefault(); VideoXL vnXID = vxl.Where(e => e.XId > video.XId).OrderBy(e => e.XId).FirstOrDefault(); VideoL vn = null; if (vnXID != null) { vn = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vnXID.XId && e.language == video.language); if (vn == null && video.language != "ru") { vn = await db.VideoLs.FirstOrDefaultAsync(e => e.XId == vnXID.XId && e.language == "ru"); } } if (vn != null) { response.nextId = vn.Id; } if (NextVideoXL != null) { if (NextVideoXL.XId > JV.X) { JV.X = NextVideoXL.XId; await db.SaveChangesAsync(); } } } response.status = "ok"; return(Json(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
// POST: api/Default public async Task <IHttpActionResult> Post([FromBody] VideoLessonsCs data) { ResponseVideoLs response = new ResponseVideoLs(); var EnableVideoLs = new List <VideoL>(); var UVideoLessons = new List <UVideoLessons>(); try { string language = null; int? MId = null; if (data != null) { language = data.language; MId = data.MId; } if (language == null) { language = "ru"; } string UserName = User.Identity.Name; UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO JV = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); var EnableVideoXLs = new List <VideoXL>(); var Moduls_userLevel = await db.Modul_userLevel.Where(e => e.LevelId <= userinfo.LevelId).ToListAsync(); var Moduls = Moduls_userLevel.Select(e => e.Modul).Where(e => e.Enable == true).ToList(); if (MId != null) { Moduls = Moduls.Where(e => e.XId == MId).ToList(); } foreach (var Module in Moduls) { EnableVideoXLs.AddRange(Module.VideoXLs.Where(e => e.Enable == true).ToList()); } if (EnableVideoXLs.Count > 0) { EnableVideoXLs = EnableVideoXLs.OrderBy(e => e.XId).ToList(); foreach (var videoXL in EnableVideoXLs) { VideoL addVideoL = videoXL.VideoLs.FirstOrDefault(e => e.language == language); if (language != "ru" && addVideoL == null) { addVideoL = videoXL.VideoLs.FirstOrDefault(e => e.language == "ru"); } if (addVideoL != null) { EnableVideoLs.Add(addVideoL); } } foreach (var videoLs in EnableVideoLs) { string Image = videoLs.Iconimg != null?Url.Content(videoLs.Iconimg) : null; bool Enable = true; int Like = 0; int View = 0; int minute = 0; VideoLEM videLem = videoLs.VideoXL.VideoLEMs.FirstOrDefault(); if (videLem != null) { Like = videLem.Likes; View = videLem.Eye; minute = videLem.minute; } if (JV.X < videoLs.XId) { Image = videoLs.Iconimg != null?Url.Content(videoLs.Iconimg2) : null; Enable = false; } string Date = null; string Time = null; if (videoLs.Date != null) { Date = videoLs.Date.Value.ToString("MM/dd/yyyy"); Time = videoLs.Date.Value.ToString("HH:mm:ss"); } UVideoLessons.Add(new UVideoLessons { Id = videoLs.Id, MId = videoLs.Modul.XId, lang = videoLs.language, Name = videoLs.Name, Image = Image, Like = Like, View = View, Date = Date, Time = Time, minute = minute, Enable = Enable }); } } response.status = "ok"; response.UVideoLessons = UVideoLessons; return(Json(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IHttpActionResult> Post([FromBody] TestCs data) { ResponseUTest response = new ResponseUTest(); var UTest = new List <UTest>(); string UserName = User.Identity.Name; try { UserInfo userinfo = await db.UserInfoes.FirstOrDefaultAsync(e => e.UserName == UserName); JVLO JV = await db.JVLOes.FirstOrDefaultAsync(e => e.UserName == UserName); if (data == null) { return(BadRequest("data null")); } if (data.Id == null) { return(BadRequest("data id null")); } VideoL VideoL = await db.VideoLs.FindAsync(data.Id); if (VideoL == null) { return(BadRequest("VideoL null")); } if (VideoL.Modul.Enable != true) { return(BadRequest("VideoLessons Modul Disable")); } if (VideoL.VideoXL.Enable != true) { return(BadRequest("VideoLessons Disable")); } if (VideoL.Modul.Modul_userLevel.FirstOrDefault().LevelId > userinfo.LevelId) { return(BadRequest("User level not available")); } if (VideoL.XId > JV.X) { return(BadRequest("User level not available")); } if (VideoL.Tests.Count == 0) { return(BadRequest("There is no test in the video lesson")); } int total = 0; ValitO valito = userinfo.ValitOS.FirstOrDefault(e => e.VdeoLXId == VideoL.XId); if (valito != null) { total = valito.KB; } foreach (var test in VideoL.Tests) { UTest.Add(new UTest { Question = test.Question, A = test.A, B = test.B, C = test.C, D = test.D, E = test.E, Answer = test.Answer }); } response.status = "ok"; response.Total = total; response.UTest = UTest; return(Json(response)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }