private void BasicDBSeeding()
 {
     if (_context.Countries.Count() == 0)
     {
         _context.Countries.Add(new Country
         {
             ArCountryName = "أخرى",
             EnCountryName = "Other",
             ShortName     = "OTH",
             CountryCode   = "0"
         });
         _context.SaveChanges();
     }
     if (_context.Cities.Count() == 0)
     {
         _context.Cities.Add(new City {
             ArCityName = "أخرى", EnCityName = "Other", CountryId = 1
         });
         _context.SaveChanges();
     }
     if (_context.Universities.Count() == 0)
     {
         _context.Universities.Add(
             new University
         {
             ArUniversityName    = "أخرى",
             EnUniversityName    = "Other",
             CountryId           = 1,
             Governmental        = true,
             Private             = false,
             SemiPrivate         = false,
             StaffNo             = 0,
             StudentNo           = 0,
             YearofEstablishment = 1800
         });
         _context.SaveChanges();
     }
     if (_context.Specialities.Count() == 0)
     {
         _context.Specialities.Add(new Speciality
         {
             Name             = "أخرى",
             EnSpecialityName = "Other"
         });
         _context.SaveChanges();
     }
     if (_context.Faculties.Count() == 0)
     {
         _context.Faculties.Add(new Faculty
         {
             ArFacultyName     = "أخرى",
             EnFacultyName     = "Other",
             CityId            = 1,
             SpecialityId      = 1,
             UniversityId      = 1,
             HasPostGraduation = true
         });
         _context.SaveChanges();
     }
 }
        public async Task <IActionResult> Index()
        {
            ApplicationUser currentUser = await _userManager.GetUserAsync(User);

            ViewData["currentUser"] = currentUser;

            //ViewData["TotalNewNotifications"] = NotificationsControllerOld.NewNotifications(_context, _userManager.GetUserId(User));
            currentUser.LastLogin = DateTime.Now;
            _context.SaveChanges();
            //return View();
            //if (currentUser.CountryId == 1 || currentUser.EmailConfirmed == false)
            //{
            //    return RedirectToAction("Index", "Manage");
            //}


            //return RedirectToAction("Index", "Communities");
            //WallViewModel wallviewmodel = await Wall();
            CommunityWallViewModel CommunityWallViewModel = await Wall();

            return(View(CommunityWallViewModel));

            // return RedirectToAction("Wall", "ApplicationUsers");
            //https://stackoverflow.com/questions/7892094/how-to-redirect-to-index-from-another-controller
        }
        // GET: CommunityFollowers
        public async Task <IActionResult> Index(int id, string ss, string userid)
        {
            CommunityFollowersViewModel CommunityFollowersVM = new CommunityFollowersViewModel();

            if (userid == null)
            {
                CommunityFollowersVM = new CommunityFollowersViewModel
                {
                    Community          = _context.Communities.SingleOrDefault(c => c.Id == id),
                    CommunityFollowers = _context.CommunityFollowers.Where(a => a.CommunityId == id).Include(c => c.ApplicationUser).Include(c => c.Community),
                    CommunityFollower  = _context.CommunityFollowers.Include(c => c.ApplicationUser).Include(c => c.Community).FirstOrDefault(a => a.CommunityId == id),
                    ApplicationUsers   = _context.ApplicationUsers.Where(a => a.Id == null)
                };
            }
            else
            {
                CommunityFollowersVM = new CommunityFollowersViewModel
                {
                    Community          = _context.Communities.SingleOrDefault(c => c.Id == id),
                    CommunityFollower  = _context.CommunityFollowers.Include(c => c.ApplicationUser).Include(c => c.Community).FirstOrDefault(a => a.CommunityId == id),
                    CommunityFollowers = _context.CommunityFollowers.Where(a => a.CommunityId == id).Include(c => c.ApplicationUser).Include(c => c.Community),
                    ApplicationUsers   = _context.ApplicationUsers
                                         .Include(a => a.Country)
                                         .Include(a => a.Faculty.Speciality)
                                         .Include(a => a.University)
                                         .Where(a => a.Faculty.Speciality.Name.Contains(ss) ||
                                                a.Summary.Contains(ss) ||
                                                a.ArName.Contains(ss) ||
                                                a.EnName.Contains(ss) ||
                                                _context.EducationalLevels
                                                .Where(m => m.ArCertificateName.Contains(ss) && m.ApplicationUserId == a.Id).Count() > 0 ||
                                                _context.AcademicPositions
                                                .Where(m => m.ArDescription.Contains(ss) || m.EnDescription.Contains(ss)).Where(m => m.ApplicationUserId == a.Id).Count() > 0 ||
                                                _context.AcademicActivities
                                                .Where(m => m.ArTitle.Contains(ss) || m.EnTitle.Contains(ss) || m.ArDescription.Contains(ss) || m.EnDescription.Contains(ss)).Where(m => m.ApplicationUserId == a.Id).Count() > 0 ||
                                                _context.TeachingExperiences
                                                .Where(m => m.ArDescription.Contains(ss) || m.EnDescription.Contains(ss) || m.ArTitle.Contains(ss) || m.EnTitle.Contains(ss)).Where(m => m.ApplicationUserId == a.Id).Count() > 0 ||
                                                _context.Posts
                                                .Where(m => m.Title.Contains(ss) || m.File.Contains(ss) || m.Body.Contains(ss)).Where(m => m.ApplicationUserId == a.Id).Count() > 0 ||
                                                _context.Publications
                                                .Where(m => m.ArTitle.Contains(ss) || m.EnTitle.Contains(ss)).Where(m => m.ApplicationUserId == a.Id).Count() > 0),
                };

                _context.CommunityFollowers.Add(new CommunityFollower
                {
                    Id = Guid.NewGuid(),
                    ApplicationUserId = userid,
                    IsAdmin           = false,
                    NotifyMe          = true,
                    CommunityId       = id
                });
                _context.SaveChanges();
            }
            ViewData["CommunityName"] = _context.Communities.SingleOrDefault(a => a.Id == id).Name;
            ViewData["Communityid"]   = id;
            return(View(CommunityFollowersVM));
        }
        public IActionResult CreateTicket(Guid SId, int TicketCategoryId, string Subject, string Body)
        {
            if (Body != null)
            {
                Body = (System.Text.RegularExpressions.Regex.Replace(Body, @"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)>", String.Empty)).Replace("\n", "<br/>");
            }

            _context.Tickets.Add(new Ticket
            {
                Subject           = Subject,
                Body              = Body,
                ApplicationUserId = _userManager.GetUserId(User),
                TicketOpenDate    = DateTime.Now,
                Status            = true,
                TicketCategoryId  = TicketCategoryId,
            });

            _context.SaveChanges();

            //-----------------------------------email content-----------------------------------------
            //var applicationuser = _context.ApplicationUsers.SingleOrDefault(a => a.Id == _userManager.GetUserId(User));

            //StringBuilder Welcome = new StringBuilder("<h3 align ='right'>عزيزي ");
            //Welcome.AppendFormat(string.Format(applicationuser.ArName));
            //Welcome.Append("</h3>");
            //Welcome.Append("</br>");

            //StringBuilder Footer = new StringBuilder("<h3 align ='right'>أطيب التحيات ");
            //Welcome.Append("</h3>");
            //Footer.AppendFormat(string.Format("<h3 align ='right'>فريق منصة اريد "));

            //Welcome.Append("</h3>");


            //EmailContent usercontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "510bce84-7b52-454c-8afd-6d6c2fe73204").SingleOrDefault();
            //StringBuilder MyStringBuilder = new StringBuilder("");
            //MyStringBuilder.AppendFormat(string.Format("<h2 align ='center'><a href='https://portal.arid.my/ar-LY/Tickets/Details/{0}' >", ticket.Id));
            //MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل التذكرة");
            //MyStringBuilder.Append("</a></h2>");

            //BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(applicationuser.Email, usercontent.ArSubject + "- رقم التذكرة #[" + ticket.Id + "]", Welcome.ToString() + usercontent.ArContent + MyStringBuilder + Footer.ToString()), TimeSpan.FromSeconds(3));

            //-----------------------------------email content-----------------------------------------
            //var ticket = _context.TicketCategory.Last();
            //if (_context.TicketCategory.Last().NotifyEmail != null)
            //{
            //    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(_context.TicketCategory.SingleOrDefault(a => a.Id == TicketCategoryId).NotifyEmail, usercontent.ArSubject + "- رقم التذكرة #[" + ticket.Id + "]", Welcome.ToString() + usercontent.ArContent + MyStringBuilder + Footer.ToString()), TimeSpan.FromSeconds(3));
            //}
            return(RedirectToAction("Details", "FreelancerReadyServices", new { id = SId }));
        }
Ejemplo n.º 5
0
        public IActionResult ReviewerAgree(int id)
        {
            SubmissionReviewer submissionreviewer = _context.SubmissionReviewers.Include(a => a.Submission.AE.ApplicationUser).Include(a => a.ReviewerUser).Include(a => a.Submission).SingleOrDefault(m => m.Id == id);
            Manuscript         manuscript         = _context.Manuscripts.Include(a => a.Journal).SingleOrDefault(a => a.Id == submissionreviewer.Submission.ManuscriptId);

            if (submissionreviewer == null)
            {
                return(NotFound());
            }
            manuscript.CurrentStatus = ManuscriptCurrentStatus.UnderReview;
            submissionreviewer.ReviewerDecisionToReview = ReviewerDecisionToReview.AcceptedToReview;
            submissionreviewer.DecisionDate             = DateTime.Now;
            _context.Update(submissionreviewer);
            _context.Update(manuscript);
            _context.SaveChanges();


            //---------------------------------------------------------------------------
            EmailContent eicandaecontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "d74c8bda-b196-4595-bf2e-85c8b2f48fc0").SingleOrDefault();

            StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");

            MyStringBuilder.Append(manuscript.Journal.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>المحكم : ");
            MyStringBuilder.Append(submissionreviewer.ReviewerUser.ArName);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<h2 align='right'>تاريخ الموافقة على التحكيم : ");
            MyStringBuilder.Append(DateTime.Now);
            MyStringBuilder.Append("</h2>");
            MyStringBuilder.Append("<br/>");
            MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Details/{0}' >", manuscript.Id));
            MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
            MyStringBuilder.Append("</a></h3><hr/>");

            var eic = _context.ApplicationUsers.SingleOrDefault(a => a.Id == manuscript.Journal.EiCId);

            BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(eic.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            if (submissionreviewer.Submission.AEId != null)
            {
                BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(submissionreviewer.Submission.AE.ApplicationUser.Email, eicandaecontent.ArSubject, eicandaecontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
            }
            //-----------------------------------------------------------------------------------------


            return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submissionreviewer.Submission.ManuscriptId }));
        }
        // GET: Messages/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var ValidateMessage = _context.Messages.SingleOrDefault(m => m.Id == id && (m.ToApplicationUserId == _userManager.GetUserId(User) || m.FromApplicationUserId == _userManager.GetUserId(User)));

            if (ValidateMessage == null)
            {
                return(NotFound());
            }
            var message        = _context.Messages.SingleOrDefault(m => m.Id == id && m.ToApplicationUserId == _userManager.GetUserId(User));
            var messagereplies = _context.MessageReplies.Where(m => m.MessageId == id && m.ApplicationUserId != _userManager.GetUserId(User));

            if (message != null)
            {
                message.IsRead     = true;
                message.DateOfRead = DateTime.Now;
                _context.Messages.Update(message);
            }

            if (messagereplies != null)
            {
                foreach (var item in messagereplies)
                {
                    item.IsRead     = true;
                    item.DateOfRead = DateTime.Now;
                }
                _context.MessageReplies.UpdateRange(messagereplies);
            }
            _context.SaveChanges();

            MessageViewModel messageVM = new MessageViewModel()
            {
                Message = await _context.Messages
                          .Include(m => m.FromApplicationUser)
                          .Include(m => m.ToApplicationUser)
                          .SingleOrDefaultAsync(m => m.Id == id),

                messageReplies = _context.MessageReplies.Where(m => m.MessageId == id).OrderBy(m => m.DateOfRecord),
            };


            return(View(messageVM));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Delete(Guid Id)
        {
            var userExpressInterest = await _context.UserExpressInterests.SingleOrDefaultAsync(m => m.Id == Id);

            _context.UserExpressInterests.Remove(userExpressInterest);
            _context.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 8
0
        public IActionResult PaymentSuccessfully(Guid trn_id, Guid trxRefNumber, string VerificationString)
        {
            var    FPay     = _context.Filspays.SingleOrDefault(m => m.Id == trxRefNumber);
            string Amount   = FPay.UserAmount.ToString();
            string Currency = "usd";
            //string Description = "Dxn Products";
            //string Language = "en";
            int    MerchantId     = 2;
            int    MerchantSiteId = 2;
            string MerchantTransactionRefNumber = (FPay.Id).ToString();

            string MerchantVerificationString = getMd5Hash(MerchantId + ":" + trn_id + ":" + MerchantSiteId + ":" + Currency + ":" + "en" + ":" + "6dc023e3-9916-45dd-b7a1-885aab63bae6");

            if (MerchantVerificationString == VerificationString && FPay.Status == false)
            {
                FPay.Status = true;
                FPay.trn_id = trn_id.ToString();
                _context.Update(FPay);



                _context.Statements.Add(new Statement
                {
                    Amount            = FPay.UserAmount - ((Math.Truncate((decimal)0.05 * FPay.UserAmount))),
                    RecordDate        = DateTime.Now,
                    Destination       = true,
                    ApplicationUserId = _userManager.GetUserId(User),
                    Details           = "FilsPay - Payment #" + FPay.Id,
                    BalanceType       = BalanceType.currentbalance
                });

                var user = _context.ApplicationUsers.SingleOrDefault(a => a.Id == _userManager.GetUserId(User));
                user.Balance = user.Balance + (FPay.UserAmount - ((Math.Truncate((decimal)0.05 * FPay.UserAmount))));

                _context.SaveChanges();
                ViewData["PaymentStatus"] = "تمت تعبئة الحساب بنجاح";
                return(View());
            }

            else
            {
                ViewData["PaymentStatus"] = "حصل خلل أثناء الدفع. الرجاء التواصل مع الادارة عبر الرقم 0060196714305 او البريد [email protected]";
            }
            return(View());
        }
Ejemplo n.º 9
0
        public IActionResult LikesUp(int id)
        {
            FreelancerPortfolio freelancerPortfolio = _context.FreelancerPortfolios.Where(m => m.Id == id).SingleOrDefault();

            if (freelancerPortfolio == null)
            {
                return(NotFound());
            }

            string currentuserid = _userManager.GetUserId(User);

            if (currentuserid != freelancerPortfolio.ApplicationUserId)
            {
                freelancerPortfolio.Likes += 1;
                _context.Update(freelancerPortfolio);
                _context.SaveChanges();
            }
            return(RedirectToAction("Details/" + id));
        }
        public async Task <IActionResult> Register(int indx, string contr, int maid, [Bind("Id,UILanguage,ReferredById,ArName,EnName,Email,Password,CountryId,UniversityId")] RegisterFromOutsideViewModel registerFromOutsideViewModel)
        {
            _context.ApplicationUsers.Add(new ApplicationUser
            {
                PasswordHash = null,
                UserName     = registerFromOutsideViewModel.Email,
                Email        = registerFromOutsideViewModel.Email,
                // Added by Alrshah =============================================================================================
                ArName = registerFromOutsideViewModel.ArName,
                EnName = registerFromOutsideViewModel.EnName,
                //DateofBirth = model.DateofBirth,
                //Gender = model.Gender,
                UILanguage   = registerFromOutsideViewModel.UILanguage,
                CityId       = 1,
                CountryId    = registerFromOutsideViewModel.CountryId,
                FacultyId    = 1,
                UniversityId = registerFromOutsideViewModel.UniversityId,
                Status       = StatusType.New,
                RegDate      = DateTime.Now,
                ARID         = 0,
                ReferredById = registerFromOutsideViewModel.ReferredById,
                Visitors     = 0,
                DAL          = Guid.NewGuid().ToString(),
                DALEnabled   = true,
            });
            _context.SaveChanges();
            var userid = _context.ApplicationUsers.Where(a => a.ReferredById == registerFromOutsideViewModel.ReferredById).OrderByDescending(a => a.RegDate).First().Id;

            _context.ArticleAuthorships.Add(new ArticleAuthorship
            {
                AuthorUserId = userid,
                ManuscriptId = maid,
                CountryId    = registerFromOutsideViewModel.CountryId,
                UniversityId = registerFromOutsideViewModel.UniversityId,
                Email        = registerFromOutsideViewModel.Email,
                Indx         = indx,
                Contribution = contr,
            });
            _context.SaveChanges();
            return(RedirectToAction("Create", "ArticleAuthorships", new { /* routeValues, for example: */ mid = maid }));
        }
Ejemplo n.º 11
0
        public IActionResult Report(Guid id)
        {
            MOOCList MOOCList = _context.MOOCLists.Where(m => m.Id == id).SingleOrDefault();

            if (MOOCList == null)
            {
                return(NotFound());
            }
            MOOCList.IsReported = true;
            _context.SaveChanges();
            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 12
0
        public IActionResult Report(int id)
        {
            ScientificEvent ScientificEvent = _context.ScientificEvents.Where(m => m.Id == id).SingleOrDefault();

            if (ScientificEvent == null)
            {
                return(NotFound());
            }
            ScientificEvent.ReportType = ReportType.NotRelated;
            _context.SaveChanges();
            return(RedirectToAction("Details/" + id));
        }
        public IActionResult Report(int id)
        {
            Publisher publisher = _context.Publishers.Where(m => m.Id == id).SingleOrDefault();

            if (publisher == null)
            {
                return(NotFound());
            }
            publisher.ReportType = ReportType.NotRelated;
            _context.SaveChanges();
            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> Details(int?id)
        {
            ViewData["journalid"] = id;

            _context.Journals.SingleOrDefault(a => a.Id == id).Visitors++;

            //if (id == null)
            //{
            //    return NotFound();
            //}

            //var journal = await _context.Journals
            //    .Include(j => j.ApplicantUser)
            //    .Include(j => j.EditorinChief)
            //    .Include(j => j.Publisher)
            //    .SingleOrDefaultAsync(m => m.Id == id);
            //if (journal == null)
            //{
            //    return NotFound();
            //}
            var currentuserarticleauthoships = _context.ArticleAuthorships.Where(a => a.AuthorUserId == _userManager.GetUserId(User));

            JournalViewModel JournalVM = new JournalViewModel()
            {
                CoAuthorManuscripts = _context.Manuscripts.Where(a => a.CorrespondingAuthorId != _userManager.GetUserId(User) && currentuserarticleauthoships.Where(m => m.ManuscriptId == a.Id && m.AuthorUserId == _userManager.GetUserId(User)).Count() > 0),
                Manuscripts         = _context.Manuscripts.Where(a => a.JournalId == id && a.CorrespondingAuthorId == _userManager.GetUserId(User) && a.IsDeleted == false).Include(a => a.Journal).Include(a => a.JournalArticleType).Include(a => a.CorrespondingAuthor),
                AreaEditors         = _context.AreaEditors.Where(a => a.JournalId == id).Include(a => a.Journal),

                Journal = await _context.Journals
                          .Include(j => j.CreatedByUser)
                          .Include(j => j.EiC)
                          .Include(j => j.Publisher)
                          .SingleOrDefaultAsync(m => m.Id == id),
            };



            _context.SaveChanges();
            return(View(JournalVM));
        }
        public IActionResult Follow(int id)
        {
            MOOCProvider MOOCProvider = _context.MOOCProviders.Where(m => m.Id == id).SingleOrDefault();

            if (MOOCProvider == null)
            {
                return(NotFound());
            }
            string currentuserid = _userManager.GetUserId(User);

            if (_context.MOOCProviderFollowers.Where(f => f.MOOCProviderId == id && f.ApplicationUserId == currentuserid).Count() == 0)
            {
                _context.MOOCProviderFollowers.Add(new MOOCProviderFollower
                {
                    Id = Guid.NewGuid(),
                    ApplicationUserId = currentuserid,
                    MOOCProviderId    = id,
                });
                _context.SaveChanges();
            }
            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 16
0
        public async Task <IActionResult> Register(bool cra, bool cre, SuggestionStatus sstatus, string ros, int maid, [Bind("Id,UILanguage,ReferredById,ArName,EnName,Email,Password,CountryId,UniversityId")] RegisterFromOutsideViewModel registerFromOutsideViewModel)
        {
            _context.ApplicationUsers.Add(new ApplicationUser
            {
                UserName = registerFromOutsideViewModel.Email,
                Email    = registerFromOutsideViewModel.Email,
                // Added by Alrshah =============================================================================================
                ArName = registerFromOutsideViewModel.ArName,
                EnName = registerFromOutsideViewModel.EnName,
                //DateofBirth = model.DateofBirth,
                //Gender = model.Gender,
                UILanguage   = registerFromOutsideViewModel.UILanguage,
                CityId       = 1,
                CountryId    = registerFromOutsideViewModel.CountryId,
                FacultyId    = 1,
                UniversityId = registerFromOutsideViewModel.UniversityId,
                Status       = StatusType.New,
                RegDate      = DateTime.Now,
                ARID         = 0,
                ReferredById = registerFromOutsideViewModel.ReferredById,
                Visitors     = 0,
                DAL          = Guid.NewGuid().ToString(),
                DALEnabled   = true
            });
            _context.SaveChanges();
            var userid = _context.ApplicationUsers.Where(a => a.ReferredById == registerFromOutsideViewModel.ReferredById).OrderByDescending(a => a.RegDate).First().Id;

            _context.SuggestedReviewers.Add(new SuggestedReviewer
            {
                ReviewerUserId     = userid,
                ManuscriptId       = maid,
                SuggestionStatus   = sstatus,
                CanReviewArabic    = cra,
                CanReviewEnglish   = cre,
                ReasonForSuggesion = ros,
            });
            _context.SaveChanges();
            return(RedirectToAction("Create", "SuggestedReviewers", new { /* routeValues, for example: */ mid = maid }));
        }
Ejemplo n.º 17
0
        public async Task <IActionResult> EditBlog(Guid id, [Bind("Id,Title,Body,DateTime,IsCommentsAllowed,Image,File,IsApproved,IsHidden,IsFeatured,Reads,IsDeleted,CommunityId,ApplicationUserId,Tags,PostType,IsPublishRequest,PublishRequestStatus,IsGifted,GiftType")] Post post, IFormFile myfile, IFormFile myfile1)
        {
            if (id != post.Id)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    // var postitem = _context.Posts.SingleOrDefault(m => m.Id == id);
                    post.Image = await UserFile.UploadeNewImageAsync(post.Image,
                                                                     myfile, _environment.WebRootPath, Properties.Resources.Community, 500, 500);

                    post.File = await UserFile.UploadeNewFileAsync(post.File,
                                                                   myfile1, _environment.WebRootPath, Properties.Resources.Community);

                    post.ApplicationUserId = _userManager.GetUserId(User);
                    post.DateTime          = DateTime.Now;
                    post.IsHidden          = post.IsHidden;
                    post.Body = (System.Text.RegularExpressions.Regex.Replace(post.Body, @"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)>", String.Empty)).Replace("\n", "<br/>");
                    //  post.Title = post.Title.Replace("/", "-");

                    _context.Update(post);
                    _context.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PostExists(post.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Details), new { id = post.Id }));
            }
            ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", post.ApplicationUserId);
            ViewData["CommunityId"]       = new SelectList(_context.Set <Community>(), "Id", "BgImage", post.CommunityId);
            return(View(post));
        }
Ejemplo n.º 18
0
        public IActionResult Reg(int id)
        {
            Course Course = _context.Courses.Where(m => m.Id == id).SingleOrDefault();

            if (Course == null)
            {
                return(NotFound());
            }
            string currentuserid = _userManager.GetUserId(User);

            if (_context.CourseRegisterations.Where(f => f.CourseId == id && f.ApplicationUserId == currentuserid).Count() == 0)
            {
                _context.CourseRegisterations.Add(new CourseRegisteration
                {
                    Id = Guid.NewGuid(),
                    ApplicationUserId = currentuserid,
                    CourseId          = id,
                    JoinDate          = DateTime.Now
                });
                _context.SaveChanges();
            }
            return(RedirectToAction("Details/" + id));
        }
        public IActionResult Follow(int id)
        {
            Community community = _context.Communities.Where(m => m.Id == id).SingleOrDefault();

            if (community == null)
            {
                return(NotFound());
            }
            string currentuserid = _userManager.GetUserId(User);

            if (_context.CommunityFollowers.Where(f => f.CommunityId == id && f.ApplicationUserId == currentuserid).Count() == 0)
            {
                _context.CommunityFollowers.Add(new CommunityFollower
                {
                    Id = Guid.NewGuid(),
                    ApplicationUserId = currentuserid,
                    CommunityId       = id,
                    NotifyMe          = true,
                    IsAdmin           = false
                });
                _context.SaveChanges();
            }
            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 20
0
        public async Task <IActionResult> Index()
        {
            var communityViewModel = new CommunityViewModel
            {
                Communities       = _context.Communities.Include(c => c.Speciality).Where(a => a.CommunityType == CommunityType.Community),
                CommunityFollower = _context.CommunityFollowers.ToList(),
                Posts             = _context.Posts.ToList(),
                UserBadge         = _context.UserBadges.FirstOrDefault(a => a.UserId == _userManager.GetUserId(User))
            };

            var    LastScore = _context.ScoreLogs.LastOrDefault(a => a.ApplicationUserId == _userManager.GetUserId(User) & a.ScoreValueId == 1);
            string todaydate = DateTime.Now.ToString("dd/MM/yyyy");

            if (LastScore != null)
            {
                DateTime dtSuppliedDate = DateTime.Parse(LastScore.Date.ToString("dd/MM/yyyy"));

                if (dtSuppliedDate.Subtract(DateTime.Today).Days != 0)
                {
                    _context.ScoreLogs.Add(new ScoreLog
                    {
                        Id = Guid.NewGuid(),
                        ApplicationUserId = _userManager.GetUserId(User),
                        PostId            = Guid.Parse("fb598acf-f2a5-40ef-a2bd-51d248843263"),
                        Date         = DateTime.Now,
                        ScoreValueId = 1
                    });
                    _context.SaveChanges();
                }
            }

            ViewData["CommunityScore"] = _context.ScoreLogs.Where(a => a.ApplicationUserId == _userManager.GetUserId(User)).Sum(a => a.ScoreValue.Value);
            //var aRIDDbContext = _context.Community.Include(c => c.ApplicationUser).Include(c => c.Speciality);
            //return View(await aRIDDbContext.ToListAsync());
            return(View(communityViewModel));
        }
Ejemplo n.º 21
0
        // POST: UserBadges/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see http://go.microsoft.com/fwlink/?LinkId=317598.


        public async Task <IActionResult> BadgeApplication(int id)
        {
            _context.UserBadges.Add(
                new UserBadge
            {
                BadgeId       = id,
                DateofRequest = DateTime.Now,
                Disabled      = false,
                IsGranted     = false,
                IsRejected    = false,
                RejectCount   = 0,
                UserId        = _userManager.GetUserId(User)
            });


            _context.SaveChanges();

            return(RedirectToAction("Apply", new { id = id }));

            //ViewData["BadgeId"] = new SelectList(_context.Badges, "Id", "Id", userBadge.BadgeId);
            //ViewData["UserId"] = new SelectList(_context.Users, "Id", "ArName", userBadge.UserId);
            //ViewData["UserId"] = new SelectList(_userManager.Users.Where(u => u.Id == _userManager.GetUserId(User)), "Id", "ArName");
            //return View();
        }
Ejemplo n.º 22
0
        // GET: Notifications
        public async Task <IActionResult> Index(string id)
        {
            if (id != _userManager.GetUserId(User))
            {
                return(NotFound());
            }
            var aRIDDbContext = _context.Notifications.Where(a => a.ApplicationUserId == id).Include(n => n.ApplicationUser).Include(n => n.Sender);

            foreach (var item in aRIDDbContext)
            {
                item.IsRead   = true;
                item.ReadDate = DateTime.Now;
                _context.Notifications.Update(item);
            }
            _context.SaveChanges();
            return(View(await aRIDDbContext.ToListAsync()));
        }
        public ActionResult Delete(IEnumerable <int> ExamPolicyIDs)
        {
            foreach (var item in ExamPolicyIDs)
            {
                var UserExpertises = _context.UserExpertises.Where(m => m.ExpertiseId == item);
                _context.UserExpertises.RemoveRange(UserExpertises);

                var delete = _context.Expertises.FirstOrDefault(s => s.Id == item);

                if (delete != null)
                {
                    _context.Expertises.Remove(delete);
                }
            }
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 24
0
        public IActionResult Best(Guid id)
        {
            PostComment PostComment = _context.PostComments.Where(m => m.Id == id).SingleOrDefault();

            if (PostComment == null)
            {
                return(NotFound());
            }

            string currentuserid = _userManager.GetUserId(User);

            if (_context.PostComments.Where(f => f.Id == id && f.ApplicationUserId == currentuserid).Count() == 0)
            {
                PostComment.IsBestAnswer = true;
            }
            else if (_context.PostComments.Where(f => f.Id == id && f.ApplicationUserId == currentuserid && f.IsBestAnswer == true).Count() > 0)
            {
                _context.PostComments.SingleOrDefault(a => a.Id == id & a.ApplicationUserId == currentuserid).IsBestAnswer = true;
            }
            _context.SaveChanges();
            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 25
0
        public async Task <IActionResult> Create([Bind("Id,ApplicationUserId,Name,ShortName,BgImage,Logo,Description,CreationDate,CommunityType,SpecialityId,SecurityLevel,IsCommentsAllowed,IsFeatured,IsApproved,IsSuspended,Tags")] Community community, IFormFile myfile, IFormFile myfile1)
        {
            if (ModelState.IsValid)
            {
                community.ApplicationUserId = _userManager.GetUserId(User);
                community.BgImage           = await UserFile.UploadeNewFileAsync(community.BgImage,
                                                                                 myfile, _environment.WebRootPath, Properties.Resources.Community);

                community.Logo = await UserFile.UploadeNewImageAsync(community.Logo,
                                                                     myfile1, _environment.WebRootPath, Properties.Resources.Community, 50, 50);

                community.CreationDate      = DateTime.Now;
                community.IsFeatured        = false;
                community.IsSuspended       = false;
                community.IsApproved        = true;
                community.IsCommentsAllowed = true;
                community.CommunityType     = CommunityType.Group;
                community.SpecialityId      = 1;
                _context.Add(community);
                await _context.SaveChangesAsync();

                _context.CommunityFollowers.Add(new CommunityFollower
                {
                    Id = Guid.NewGuid(),
                    ApplicationUserId = community.ApplicationUserId,
                    IsAccepted        = true,
                    IsAdmin           = true,
                    NotifyMe          = true,
                    CommunityId       = community.Id,
                });
                _context.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            //ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", community.ApplicationUserId);
            ViewData["SpecialityId"] = new SelectList(_context.Specialities, "Id", "Name", community.SpecialityId);
            return(View(community));
        }
Ejemplo n.º 26
0
        public IActionResult Register(int id)
        {
            Guid             ExpressInterestGuid = Guid.NewGuid();
            RegistrationForm registrationform    = _context.RegistrationForms.Where(m => m.Id == id).SingleOrDefault();

            if (registrationform == null)
            {
                return(NotFound());
            }
            string currentuserid = _userManager.GetUserId(User);

            if (_context.UserExpressInterests.Where(f => f.RegistrationFormId == id && f.ApplicationUserId == currentuserid).Count() == 0)
            {
                _context.UserExpressInterests.Add(new UserExpressInterest
                {
                    Id = ExpressInterestGuid,
                    ApplicationUserId  = _userManager.GetUserId(User),
                    RegistrationFormId = id,
                    CreationDate       = DateTime.Now
                });
            }

            _context.SaveChanges();
            ApplicationUser applicationUser = _context.ApplicationUsers.Where(m => m.Id == _userManager.GetUserId(User)).SingleOrDefault();

            EmailContent WelcomeEmail  = _context.EmailContents.Where(m => m.Id == registrationform.EmailContentId).SingleOrDefault();
            EmailContent ReminderEmail = _context.EmailContents.Where(m => m.Id == registrationform.EmailContentReminderId).SingleOrDefault();

            //   DateTime ExpiryDate = registrationform.ExpiryDate.AddDays(-1);
            if (WelcomeEmail.Id != 1027)
            {
                if (_context.SentEmailRecords.Where(f => f.EmailContentId == WelcomeEmail.Id && f.ApplicationUserId == currentuserid).Count() == 0)
                {
                    var UserDetails = _context.ApplicationUsers
                                      .SingleOrDefaultAsync(m => m.Id == _userManager.GetUserId(User)).Result;

                    StringBuilder Welcome = new StringBuilder("<h3 align ='right'>عزيزي ");
                    Welcome.AppendFormat(string.Format(UserDetails.ArName));
                    Welcome.Append("</h3>");
                    Welcome.Append("</br>");

                    _context.SentEmailRecords.Add(new SentEmailRecords
                    {
                        Id = Guid.NewGuid(),
                        ApplicationUserId = _userManager.GetUserId(User),
                        EmailContentId    = WelcomeEmail.Id
                    });

                    _context.SaveChanges();

                    if (registrationform.IsPdfInvitation == true)
                    {
                        StringBuilder unsubscribe = new StringBuilder("<hr/><h2 align ='center'>لتحميل خطاب الدعوة الرسمي اضغط هنا </h2>");


                        unsubscribe.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/UserExpressInterests/Pdf?id={0}' >", ExpressInterestGuid));
                        unsubscribe.Append("Invitation Letter | خطاب الدعوة");
                        unsubscribe.Append("</a></h3><hr/>");


                        BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(applicationUser.Email, WelcomeEmail.ArSubject, Welcome.ToString() + WelcomeEmail.ArContent + unsubscribe.ToString()), TimeSpan.FromMinutes(1));
                    }
                    else
                    {
                        BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(applicationUser.Email, WelcomeEmail.ArSubject, Welcome.ToString() + WelcomeEmail.ArContent), TimeSpan.FromMinutes(1));
                    }
                }
            }

            if (ReminderEmail.Id != 1027)
            {
                BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(applicationUser.Email, ReminderEmail.ArSubject, ReminderEmail.ArContent), TimeSpan.FromDays(registrationform.ReminderDays));
            }

            return(RedirectToAction("Details/" + id));
        }
Ejemplo n.º 27
0
        public async Task <IActionResult> EICDecision(int id, [Bind("Id,ManuscriptId,AEId,DateOfSubmission,ResponsetoDecision,EICDecision,SubmissionStatus,DecisionDate,EicDecisionText,DecisionLetter,PlagiarismConfirmation,DuplicateSubmissionConfirmation,CoverLetter,AEDecision,AEDecisionDate,AEDecisionText")] Submission submission)
        {
            if (id != submission.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    submission.DecisionDate = DateTime.Now;
                    _context.Update(submission);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SubmissionExists(submission.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                //===============================================================
                Manuscript   manuscript                = _context.Manuscripts.Include(a => a.Journal).Include(a => a.CorrespondingAuthor).SingleOrDefault(a => a.Id == submission.ManuscriptId);
                var          ae                        = _context.AreaEditors.Include(a => a.ApplicationUser).SingleOrDefault(a => a.Id == submission.AEId);
                EmailContent acceptcontent             = _context.EmailContents.Where(m => m.UniqueName.ToString() == "8050076f-5efb-4b4d-b6ca-6f0b1abe6df6").SingleOrDefault();
                EmailContent needrevisiontcontent      = _context.EmailContents.Where(m => m.UniqueName.ToString() == "3e88b5a0-5c7d-4ca6-9f89-bfb321279ac7").SingleOrDefault();
                EmailContent RejectWithResubmitcontent = _context.EmailContents.Where(m => m.UniqueName.ToString() == "036d72f3-ee23-49bd-b7eb-bccc6f8abdf8").SingleOrDefault();
                EmailContent Rejectcontent             = _context.EmailContents.Where(m => m.UniqueName.ToString() == "aea536a2-80a8-4fc2-b69c-e63ec93c5ffc").SingleOrDefault();
                EmailContent RejectWithAppealcontent   = _context.EmailContents.Where(m => m.UniqueName.ToString() == "27ca16e0-30cf-42dc-a4a0-7094860bc20f").SingleOrDefault();
                EmailContent RejectTransfercontent     = _context.EmailContents.Where(m => m.UniqueName.ToString() == "15536cf5-7a99-4e8a-b839-822a8d30d0ce").SingleOrDefault();

                StringBuilder MyStringBuilder = new StringBuilder("<h2 align='right'>اسم المجلة : ");
                MyStringBuilder.Append(manuscript.Journal.ArName);
                MyStringBuilder.Append("</h2>");
                MyStringBuilder.Append("<br/>");
                MyStringBuilder.AppendFormat(string.Format("<h3 align ='center'><a href='https://portal.arid.my/ar-LY/Manuscripts/Details/{0}' >", submission.ManuscriptId));
                MyStringBuilder.Append("اضغط هنا للاطلاع على تفاصيل البحث");
                MyStringBuilder.Append("</a></h3><hr/>");
                //Accept
                if (submission.EICDecision.ToString() == "Accept")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Published;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, acceptcontent.ArSubject, acceptcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //Minor-major-LanguageEditing
                if (submission.EICDecision.ToString() == "Minor" || submission.EICDecision.ToString() == "Major" || submission.EICDecision.ToString() == "ReviseForLanguageEditing")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.SubmissionsNeedingRevision;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, needrevisiontcontent.ArSubject, needrevisiontcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectWithResubmit
                if (submission.EICDecision.ToString() == "RejectWithResubmit")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.SubmissionSentBackToAuthor;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectWithResubmitcontent.ArSubject, RejectWithResubmitcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //Reject
                if (submission.EICDecision.ToString() == "Reject")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, Rejectcontent.ArSubject, Rejectcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectWithAppealcontent
                if (submission.EICDecision.ToString() == "RejectWithAppeal")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectWithAppealcontent.ArSubject, RejectWithAppealcontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //RejectTransfer
                if (submission.EICDecision.ToString() == "RejectTransfer")
                {
                    manuscript.CurrentStatus = ManuscriptCurrentStatus.Declined;
                    _context.Update(manuscript);
                    _context.SaveChanges();
                    BackgroundJob.Schedule(() => _emailSender.SendEmailAsync(manuscript.CorrespondingAuthor.Email, RejectTransfercontent.ArSubject, RejectTransfercontent.ArContent + MyStringBuilder.ToString()), TimeSpan.FromSeconds(10));
                }
                //===============================================================
                return(RedirectToAction("Details", "Manuscripts", new { /* routeValues, for example: */ id = submission.ManuscriptId }));
            }
            ViewData["AEId"]         = new SelectList(_context.AreaEditors, "Id", "Description", submission.AEId);
            ViewData["ManuscriptId"] = new SelectList(_context.Manuscripts, "Id", "ArAbstract", submission.ManuscriptId);
            return(View(submission));
        }