public ActionResult AddAdmin(ManageAdministratorViewModel category)
        {
            if (ModelState.IsValid)
            {
                bool isEmailRegistered = db.Users.Any(x => x.Email == category.Email);
                if (!isEmailRegistered)
                {
                    //add data in user table
                    Users adminUser = new Users();

                    adminUser.RoleID    = 3;
                    adminUser.FirstName = category.FirstName;
                    adminUser.LastName  = category.LastName;
                    adminUser.Email     = category.Email;
                    string adminPassword = "******";
                    adminUser.Password        = adminPassword;
                    adminUser.IsEmailVerified = true;
                    adminUser.CreatedDate     = DateTime.Now;
                    adminUser.CreatedBy       = 4;
                    adminUser.IsActive        = true;

                    db.Users.Add(adminUser);
                    db.SaveChanges();

                    int userID = db.Users.FirstOrDefault(x => x.Email == category.Email && x.IsActive == true).ID;

                    //add table is user profile table
                    UserProfile adminProfile = new UserProfile();

                    adminProfile.UserID = userID;
                    adminProfile.DOB    = DateTime.Now;
                    adminProfile.Gender = 1;
                    adminProfile.PhoneNumber_CountryCode = "NA";
                    adminProfile.PhoneNumber             = category.PhoneNumber;
                    adminProfile.AddressLine1            = "NA";
                    adminProfile.AddressLine2            = "NA";
                    adminProfile.City        = "NA";
                    adminProfile.State       = "NA";
                    adminProfile.ZipCode     = "NA";
                    adminProfile.Country     = "NA";
                    adminProfile.CreatedBy   = 4;
                    adminProfile.CreatedDate = DateTime.Now;
                    adminProfile.IsActive    = true;

                    db.UserProfile.Add(adminProfile);
                    db.SaveChanges();

                    return(RedirectToAction("ManageAdministrator"));
                }
                else
                {
                    ModelState.AddModelError("Email", "Email is already registered");
                    return(View());
                }
            }

            return(View());
        }
コード例 #2
0
        public ActionResult addAdmin(UserDetails model)
        {
            NotesMarketPlaceEntities entities = new NotesMarketPlaceEntities();
            var        CountryCode            = entities.tblCountries.ToList();
            SelectList list = new SelectList(CountryCode, "CountryCode", "CountryCode");

            ViewBag.CountryCode = list;

            string name = User.Identity.Name;
            int    u    = (from user in _Context.tblUsers where user.EmailID == name select user.ID).Single();


            if (User.Identity.IsAuthenticated)
            {
                NotesMarketPlaceEntities dbobj = new NotesMarketPlaceEntities();
                tblUser obj = new tblUser();
                obj.FirstName       = model.FirstName;
                obj.LastName        = model.LastName;
                obj.EmailID         = model.EmailID;
                obj.Password        = "******";
                obj.CreatedDate     = DateTime.Now;
                obj.CreatedBy       = u;
                obj.IsActive        = true;
                obj.IsEmailVerified = true;
                obj.RoleID          = 102;

                dbobj.tblUsers.Add(obj);
                dbobj.SaveChanges();


                int id = (from record in dbobj.tblUsers orderby record.ID descending select record.ID).First();

                tblUserProfile userobj = new tblUserProfile();
                userobj.UserID = id;
                userobj.PhoneNumber_CountryCode = model.CountryCode;
                userobj.PhoneNumber             = model.PhnNo;
                userobj.AddressLine1            = "addressline1";
                userobj.AddressLine2            = "addressline2";
                userobj.City    = "city";
                userobj.State   = "State";
                userobj.ZipCode = "123321";
                userobj.Country = "India";
                dbobj.tblUserProfiles.Add(userobj);
                dbobj.SaveChanges();
                ModelState.Clear();
                return(RedirectToAction("ManageAdmin", "Admin"));
            }
            return(View());
        }
コード例 #3
0
        public ActionResult Admin_add_category(tblNoteCategory model)
        {
            if (User.Identity.IsAuthenticated)
            {
                string name    = User.Identity.Name;
                int    access  = (from user in _Context.tblUsers where user.EmailID == name select user.ID).Single();
                bool   isvalid = _Context.tblNoteCategories.Any(m => m.Name == model.Name);

                if (!isvalid)
                {
                    tblNoteCategory obj = new tblNoteCategory();
                    obj.Name        = model.Name;
                    obj.Description = model.Description;
                    obj.CreatedDate = DateTime.Now;
                    obj.CreatedBy   = access;
                    obj.IsActive    = true;

                    if (ModelState.IsValid)
                    {
                        _Context.tblNoteCategories.Add(obj);
                        try
                        {
                            _Context.SaveChanges();
                            ModelState.Clear();
                            return(RedirectToAction("Admin_dashboard", "Admin"));
                        }
                        catch (DbEntityValidationException e)
                        {
                            foreach (var eve in e.EntityValidationErrors)
                            {
                                Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                                  eve.Entry.Entity.GetType().Name, eve.Entry.State);
                                foreach (var ve in eve.ValidationErrors)
                                {
                                    Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                                      ve.PropertyName, ve.ErrorMessage);
                                }
                            }
                        }
                    }
                }
                else
                {
                    ViewBag.Message = "Note Category already exists";
                }
            }
            return(View());
        }
コード例 #4
0
        /// <summary>
        /// Delete review from Database
        /// </summary>
        /// <param name="ReviewID">ReviewID of review to be deleted</param>
        /// <returns>Return NoteID of Review Deleted or 0 if fails to delete review</returns>
        public static bool DeleteReview(int ReviewID)
        {
            using (var context = new NotesMarketPlaceEntities())
            {
                var Review = context.NotesReviews.FirstOrDefault(nr => nr.ReviewID == ReviewID);

                if (Review == null)
                {
                    return(false);
                }

                int NoteID = Review.NoteID;

                context.NotesReviews.Remove(Review);

                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e);
                    return(false);
                }
                return(true);
            }
        }
コード例 #5
0
        public static int VerifyEmail(int UID, string strGuid)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                User u = context.Users.FirstOrDefault(us => us.UserID == UID && us.GUID == strGuid && us.IsActive);

                // return 1 if successful verification
                if (u != null)
                {
                    //If already Verified send -1
                    if (u.IsEmailVerified)
                    {
                        return(-1);
                    }
                    u.GUID = null;

                    u.IsEmailVerified = true;
                    u.ModifiedDate    = System.DateTime.Now;
                    u.ModifiedBy      = u.UserID;
                    context.SaveChanges();
                    return(1);
                }

                //return 0 if uid and guid does not match
                else
                {
                    return(0);
                }
            }
        }
コード例 #6
0
        public static string ForgotPassword(string emailAddress)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                User u = context.Users.FirstOrDefault(user => user.Email == emailAddress && user.IsActive);

                if (u == null)
                {
                    return(string.Empty);
                }

                string elements = "ABCDEFGHJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%&*+=^";

                Random PassGenerator = new Random();

                StringBuilder NewPass = new StringBuilder();
                for (int i = 0; i < 10; i++)
                {
                    NewPass.Append(elements[PassGenerator.Next(0, elements.Length)]);
                }

                string pass = NewPass.ToString();
                u.Passwd       = pass;
                u.ModifiedDate = System.DateTime.Now;
                u.ModifiedBy   = 1;
                context.SaveChanges();
                return(pass);
            }
        }
コード例 #7
0
        public static bool RejectNote(int NoteID, int AdminID, string Remarks)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                var note = context.Notes.FirstOrDefault(n => n.NoteID == NoteID && (n.NoteStatus == 1 || n.NoteStatus == 2));

                if (note == null)
                {
                    return(false);
                }
                else
                {
                    note.NoteStatus   = 4;
                    note.ModifiedDate = System.DateTime.Now;
                    note.ModifiedBy   = AdminID;
                    note.ActionBy     = AdminID;
                    note.AdminRemarks = Remarks;
                }
                try
                {
                    context.SaveChanges();
                    return(true);
                }
                catch (Exception e)
                {
                    return(false);
                }
            }
        }
コード例 #8
0
        /// <summary>
        /// Approves Note i.e changes status to 3: published and adds admin's id and remarks as Ok
        /// </summary>
        /// <param name="NoteID">Note To Be Approved</param>
        /// <param name="AdminID">UserID of Admin that approved the note.</param>
        /// <returns> int: meaning
        ///             1: Successful
        ///             0: Unsuccessful
        ///            -1: Already inreview
        /// </returns>
        public static int MakeNoteInReview(int NoteID, int AdminID)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                var note = context.Notes.FirstOrDefault(n => n.NoteID == NoteID && (n.NoteStatus == 1 || n.NoteStatus == 2));

                if (note == null)
                {
                    return(0);
                }
                else if (note.NoteStatus == 2)
                {
                    return(-1);
                }
                else
                {
                    note.NoteStatus   = 2;
                    note.ModifiedDate = System.DateTime.Now;
                    note.ModifiedBy   = AdminID;
                    note.ActionBy     = AdminID;
                }
                try
                {
                    context.SaveChanges();
                    return(1);
                }
                catch (Exception e)
                {
                    return(0);
                }
            }
        }
コード例 #9
0
        public static int AddUser(SignUp NewUser)
        {
            using (var context = new NotesMarketPlaceEntities())
            {
                if (context.Users.Any(m => m.Email == NewUser.Email && m.IsActive))
                {
                    return(0);
                }

                User u = new User()
                {
                    FirstName       = NewUser.FirstName,
                    LastName        = NewUser.LastName,
                    Email           = NewUser.Email,
                    IsEmailVerified = false,
                    RoleID          = (int)NewUser.RoleID,
                    ModifiedDate    = DateTime.Now,
                    Passwd          = NewUser.Password,
                    IsActive        = true,
                    GUID            = NewUser.GUID,
                    CreatedBy       = 1,
                    ModifiedBy      = 1,
                    CreatedDate     = System.DateTime.Now,
                };

                context.Users.Add(u);

                context.SaveChanges();

                return(u.UserID);
            }
        }
コード例 #10
0
        public ActionResult ChangePassword(ChangePasswordViewModel changepass)
        {
            try
            {
                Users user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name && x.IsActive == true);

                if (ModelState.IsValid && user != null)
                {
                    if (changepass.oldPassword == user.Password)
                    {
                        user.Password = changepass.newPassword;
                        db.SaveChanges();
                        ViewBag.status = "sucess";
                    }
                    else
                    {
                        ModelState.AddModelError("oldPassword", "Password dosen't match");
                    }
                }
                return(View());
            }
            catch (NullReferenceException)
            {
                return(View("Error"));
            }
        }
コード例 #11
0
        public ActionResult ChangePassword(ChangePassword pwd)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            using (var _Context = new NotesMarketPlaceEntities())
            {
                // get current user
                var currentUser = _Context.tblUsers.FirstOrDefault(model => model.EmailID == User.Identity.Name);

                // check old password
                if (!currentUser.Password.Equals(pwd.OldPassword))
                {
                    ModelState.AddModelError("Error", "Old password is wrong");
                    return(View());
                }
                else
                {
                    // update password
                    currentUser.Password     = pwd.ConfirmPassword;
                    currentUser.ModifiedDate = DateTime.Now;
                    _Context.SaveChanges();

                    FormsAuthentication.SignOut();

                    return(RedirectToAction("Login", "Account"));
                }
            }
        }
コード例 #12
0
        public ActionResult Buyer_Allowed(int id)
        {
            NotesMarketPlaceEntities a = new NotesMarketPlaceEntities();
            var obj       = a.tblDownloads.Where(m => m.ID.Equals(id)).FirstOrDefault();
            int buyer_id  = obj.Downloader;
            int seller_id = obj.Seller;
            var buyer     = a.tblUsers.Where(m => m.ID.Equals(buyer_id)).FirstOrDefault();
            var seller    = a.tblUsers.Where(m => m.ID.Equals(seller_id)).FirstOrDefault();

            if (obj != null)
            {
                // int id = admin_id.ID;
                obj.IsSellerHasAllowedDownload = true;

                string buyer_email = buyer.EmailID;
                string buyer_name  = buyer.FirstName;
                buyer_name += " " + buyer.LastName;

                string seller_name = seller.FirstName;
                seller_name += " " + seller.LastName;
                string     subject = seller_name + " Allows you to download a note";
                ForgotPass mailer  = new ForgotPass();
                string     body    = "Hello " + buyer_name +
                                     ",<br/><br/>We would like to inform you that," + seller_name + " Allows you to download a note." +
                                     "Please login and see My Download tabs to download particular note." +
                                     "<br/><br/>Regards,<br/>Notes Marketplace";
                mailer.sendMail(subject, body, buyer_email);

                a.SaveChanges();
            }
            return(RedirectToAction("Buyer_requests", "Client"));
        }
コード例 #13
0
        public ActionResult contactUs(ContactUs model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (NotesMarketPlaceEntities DBobj = new NotesMarketPlaceEntities())
                    {
                        ContactUs u = new ContactUs();
                        u.FullName     = model.FullName;
                        u.EmailAddress = model.EmailAddress;
                        u.Subject      = model.Subject;
                        u.Comments     = model.Comments;
                        u.CreatedDate  = DateTime.Now;
                        u.IsActive     = true;

                        DBobj.ContactUs.Add(u);
                        DBobj.SaveChanges();

                        if (u.ContactID > 0)
                        {
                            ModelState.Clear();
                            ContactUsEmail.ContactUs(model.Subject, model.FullName, model.Comments);
                            return(View());
                        }
                    }
                }

                return(View());
            }
            catch (Exception e)
            {
                return(View());
            }
        }
コード例 #14
0
        public ActionResult UserProfile(UserProfileModel user)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            using (var _Context = new NotesMarketPlaceEntities())
            {
                // current userID
                int currentUser = _Context.tblUsers.FirstOrDefault(model => model.EmailID == User.Identity.Name).ID;

                // user details
                var userdetails = _Context.tblUserProfiles.FirstOrDefault(model => model.UserID == currentUser);

                var defaultImg = _Context.tblSystemConfigurations.Single(x => x.Key == "DefaultMemberDisplayPicture").Values;

                // check user available or not
                if (userdetails != null && user != null)
                {
                    // update details
                    var userUpdate = _Context.tblUsers.FirstOrDefault(model => model.ID == currentUser);
                    var update     = _Context.tblUserProfiles.FirstOrDefault(model => model.UserID == currentUser);

                    user.MaptoModel(userUpdate, update);

                    // "../Members/"+ currentUser+ "/"+user.ProfilePicture  aa lakhi nakj
                    update.ProfilePicture = "../Members/" + currentUser + "/" + user.ProfilePicture;

                    userUpdate.ModifiedDate = DateTime.Now;
                    update.ModifiedDate     = DateTime.Now;

                    _Context.SaveChanges();

                    return(RedirectToAction("UserProfile"));
                }
                else
                {
                    // add new details
                    var add = _Context.tblUserProfiles;
                    add.Add(new tblUserProfile
                    {
                        UserID = currentUser,
                        DOB    = user.DOB,
                        Gender = user.Gender,
                        PhoneNumber_CountryCode                      = user.PhoneNumber_CountryCode,
                        PhoneNumber                                  = user.PhoneNumber,
                        ProfilePicture                               = user.ProfilePicture == null ? default : "../Members/" + currentUser + "/" + user.ProfilePicture,
                                                        AddressLine1 = user.AddressLine1,
                                                        AddressLine2 = user.AddressLine2,
                                                        City         = user.City,
                                                        State        = user.State,
                                                        ZipCode      = user.ZipCode,
                                                        Country      = user.Country,
                                                        University   = user.University,
                                                        College      = user.College,
                                                        CreatedDate  = DateTime.Now
                    });
コード例 #15
0
        public ActionResult DeleteSpamReport(int issueId)
        {
            var issue = db.SellerNotesReportedIssues.FirstOrDefault(x => x.ID == issueId);

            db.SellerNotesReportedIssues.Remove(issue);
            db.SaveChanges();

            return(RedirectToAction("NotesSpamReport"));
        }
コード例 #16
0
        public ActionResult signUp(signUp model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (NotesMarketPlaceEntities DBobj = new NotesMarketPlaceEntities())
                    {
                        Users u = new Users();
                        u.RoleID          = 1003;
                        u.FirstName       = model.FirstName;
                        u.LastName        = model.LastName;
                        u.EmailId         = model.EmailId;
                        u.Password        = model.Password;
                        u.IsEmailVerified = false;
                        u.CreatedDate     = DateTime.Now;
                        u.IsActive        = true;

                        DBobj.Users.Add(u);
                        DBobj.SaveChanges();

                        if (u.UserID > 0)
                        {
                            ModelState.Clear();
                            ViewBag.IsSuccess = "<p><span><i class='fas fa-check-circle'></i></span> Your account has been successfully created </p>";
                            TempData["name"]  = model.FirstName;


                            //  Email Verification Link
                            var activationCode = model.Password;
                            var verifyUrl      = "/User/VerifyAccount/" + activationCode;
                            var activationlink = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, verifyUrl);


                            // Sending Email
                            EmailVerification.SendVerifyLinkEmail(u, activationlink);
                            ViewBag.Title         = "NotesMarketPlace";
                            @TempData["UserName"] = model.FirstName.ToString();


                            return(RedirectToAction("emailverification", "User"));
                        }
                    }
                }

                return(View());
            }
            catch (Exception e)
            {
                return(View());
            }
        }
コード例 #17
0
 public ActionResult RegisterConfirm(int regID)
 {
     using (var db = new NotesMarketPlaceEntities())
     {
         Users user = db.Users.FirstOrDefault(x => x.ID == regID);
         user.IsEmailVerified = true;
         user.CreatedBy       = user.ID;
         user.ModifiedDate    = DateTime.Now;
         user.ModifiedBy      = user.ID;
         db.SaveChanges();
     }
     return(RedirectToAction("Index", "Home"));
 }
コード例 #18
0
        public ActionResult AddCountry(ManageCountryViewModel countrymodel)
        {
            var user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);

            if (ModelState.IsValid)
            {
                //add data to country table
                Countries Con = new Countries();

                Con.Name        = countrymodel.countryName;
                Con.CountryCode = countrymodel.countryCode;
                Con.CreatedDate = DateTime.Now;
                Con.CreatedBy   = user.ID;
                Con.IsActive    = true;

                db.Countries.Add(Con);
                db.SaveChanges();

                return(RedirectToAction("ManageCountry"));
            }

            return(View());
        }
コード例 #19
0
        public ActionResult AddType(ManageTypeViewModel type)
        {
            var user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);

            if (ModelState.IsValid)
            {
                //add data to notetype table
                NoteTypes Types = new NoteTypes();

                Types.Name        = type.typeName;
                Types.Description = type.description;
                Types.CreatedDate = DateTime.Now;
                Types.CreatedBy   = user.ID;
                Types.IsActive    = true;

                db.NoteTypes.Add(Types);
                db.SaveChanges();

                return(RedirectToAction("ManageType"));
            }

            return(View());
        }
コード例 #20
0
        public ActionResult AddCategory(ManageCategoryViewModel category)
        {
            var user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);

            if (ModelState.IsValid)
            {
                //add data into category table
                NoteCategories Notes = new NoteCategories();

                Notes.Name        = category.categoryName;
                Notes.Description = category.description;
                Notes.CreatedDate = DateTime.Now;
                Notes.CreatedBy   = user.ID;
                Notes.IsActive    = true;

                db.NoteCategories.Add(Notes);
                db.SaveChanges();

                return(RedirectToAction("ManageCategory"));
            }

            return(View());
        }
コード例 #21
0
        /* Submits Note Report
         * Returns false if fails or not allowed to report or already reported
         * Return True if successfully submitted
         * */
        public static bool SubmitNoteReport(ReportNoteModel Rm, int UserID)
        {
            using (var context = new NotesMarketPlaceEntities())
            {
                var IsAllowedToRate = context.Downloads.FirstOrDefault(dwn => dwn.NoteID == Rm.NoteID && dwn.BuyerID == UserID && dwn.IsAllowed && dwn.IsDownloaded);
                if (IsAllowedToRate == null)
                {
                    return(false); //Not allowed
                }
                else
                {
                    NotesReport NR = context.NotesReports.FirstOrDefault(nr => nr.NoteID == Rm.NoteID && nr.BuyerID == UserID);
                    if (NR != null)
                    {
                        return(false); // cause one can not change report
                    }
                    else
                    {
                        context.NotesReports.Add(new NotesReport()
                        {
                            NoteID       = Rm.NoteID,
                            BuyerID      = UserID,
                            Remarks      = Rm.Remarks,
                            CreatedBy    = UserID,
                            CreatedDate  = System.DateTime.Now,
                            ModifiedBy   = UserID,
                            ModifiedDate = System.DateTime.Now,
                            DownloadID   = IsAllowedToRate.DownloadID
                        });

                        var Seller = context.Users.FirstOrDefault(u => u.UserID == IsAllowedToRate.SellerID);

                        Rm.SellerName = Seller.FirstName + " " + Seller.LastName;

                        Rm.NoteTitle = IsAllowedToRate.NoteTitle;
                    }
                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine(e);
                        return(false);
                    }
                    return(true);
                }
            }
        }
コード例 #22
0
        public ActionResult DeactiveUser(int userId)
        {
            var user = db.Users.Where(x => x.Email == User.Identity.Name).FirstOrDefault();

            //deactive from user table
            var deactiveUser = db.Users.Where(x => x.ID == userId && x.IsActive == true).FirstOrDefault();

            deactiveUser.IsActive = false;

            //deactive data from seller table
            var deactiveSeller = db.SellerNotes.Where(x => x.SellerID == userId && x.IsActive == true);

            foreach (var item in deactiveSeller)
            {
                item.IsActive     = false;
                item.ActionedBy   = user.ID;
                item.ModifiedDate = DateTime.Now;
                item.ModifiedBy   = user.ID;
                var attachment = db.SellerNotesAttachements.Where(x => x.NoteID == item.ID & x.IsActive == true);
                foreach (var note in attachment)
                {
                    note.IsActive = false;
                }
            }

            //deactive data from downloads table
            var downloadDeactive = db.Downloads.Where(x => x.Downloader == userId && x.IsActive == true);

            foreach (var item in downloadDeactive)
            {
                item.ModifiedBy   = user.ID;
                item.ModifiedDate = DateTime.Now;
                item.IsActive     = false;
            }

            //deactive data from review table
            var reviewDeactive = db.SellerNotesReviews.Where(x => x.ReviewedByID == userId && x.IsActive == true);

            foreach (var item in reviewDeactive)
            {
                item.ModifiedBy   = user.ID;
                item.ModifiedDate = DateTime.Now;
                item.IsActive     = false;
            }

            db.SaveChanges();

            return(RedirectToAction("AllMember"));
        }
コード例 #23
0
        public ActionResult NoteReview(FormCollection form)
        {
            var user = db.Users.Where(x => x.Email == User.Identity.Name).FirstOrDefault();

            SellerNotesReviews reviews = new SellerNotesReviews();

            int NoteID = Convert.ToInt32(form["noteid"]);

            if (!db.SellerNotesReviews.Any(x => x.NoteID == NoteID && x.ReviewedByID == user.ID))
            {
                reviews.NoteID             = Convert.ToInt32(form["noteid"]);
                reviews.AgainstDownloadsID = Convert.ToInt32(form["downloadid"]);
                reviews.ReviewedByID       = user.ID;
                reviews.Ratings            = Convert.ToDecimal(form["rate"]);
                reviews.Comments           = form["review"];
                reviews.CreatedDate        = DateTime.Now;
                reviews.CreatedBy          = user.ID;
                reviews.IsActive           = true;

                db.SellerNotesReviews.Add(reviews);
                db.SaveChanges();
            }
            else
            {
                var review = db.SellerNotesReviews.FirstOrDefault(x => x.NoteID == NoteID && x.ReviewedByID == user.ID);
                review.AgainstDownloadsID = Convert.ToInt32(form["downloadid"]);
                review.Ratings            = Convert.ToDecimal(form["rate"]);
                review.Comments           = form["review"];
                review.ModifiedDate       = DateTime.Now;
                review.ModifiedBy         = user.ID;

                db.SaveChanges();
            }

            return(RedirectToAction("MyDownloads"));
        }
コード例 #24
0
        public ActionResult ApproveNote(int noteid)
        {
            var user = db.Users.FirstOrDefault(x => x.Email == User.Identity.Name);
            var note = db.SellerNotes.Where(x => x.ID == noteid && x.IsActive == true).FirstOrDefault();

            note.Status        = 9;
            note.ActionedBy    = user.ID;
            note.PublishedDate = DateTime.Now;
            note.ModifiedDate  = DateTime.Now;
            note.ModifiedBy    = user.ID;

            db.SaveChanges();

            return(RedirectToAction("RejectedNote"));
        }
コード例 #25
0
        public ActionResult Delete(int id)
        {
            var note = db.SellerNotes.Where(x => x.ID == id).FirstOrDefault();

            if (note == null)
            {
                return(Content("This Note is not Available...."));
            }

            IEnumerable <SellerNotesAttachements> noteFile = db.SellerNotesAttachements.Where(x => x.NoteID == note.ID && x.IsActive == true).ToList();

            string notefolderpath           = Server.MapPath("~/Members/" + note.SellerID + "/" + note.ID);
            string noteattachmentfolderpath = Server.MapPath("~/Members/" + note.SellerID + "/" + note.ID + "/Attachements");

            DirectoryInfo attachementnotefolder = new DirectoryInfo(noteattachmentfolderpath);
            DirectoryInfo notefolder            = new DirectoryInfo(notefolderpath);

            EmptyFolder(attachementnotefolder);
            EmptyFolder(notefolder);
            Directory.Delete(notefolderpath);

            note.IsActive = false;
            note.Status   = 11;
            db.SaveChanges();

            //delete all files
            foreach (var item in noteFile)
            {
                var attachement = db.SellerNotesAttachements.Where(x => x.ID == item.ID).FirstOrDefault();
                attachement.IsActive = false;
            }

            db.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }
コード例 #26
0
        /// <summary>
        /// Deletes Note from database and file from file system only if owner is requesting and is a draft
        /// </summary>
        /// <param name="NoteID">Noteif of note to be deleted</param>
        /// <param name="UserID">User id of user requesting deletion</param>
        /// <param name="AppRoot">Actual Root of web app on file system</param>
        /// <returns>True if succeed in deletion, false otherwise</returns>
        public static bool DeleteNote(int NoteID, int UserID, string AppRoot)
        {
            using (var context = new NotesMarketPlaceEntities())
            {
                var note = context.Notes.FirstOrDefault(n => n.NoteID == NoteID && n.SellerID == UserID && n.NoteStatus == 0);
                if (note == null)
                {
                    return(false);
                }

                else
                {
                    context.NotesAttachments.Remove(context.NotesAttachments.FirstOrDefault(n => n.NoteID == NoteID));
                    context.Notes.Remove(note);
                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine(e);
                        return(false);
                    }


                    //Deleting Note Preview, Note Cover, Note pdfs.

                    string Serverpath = AppRoot + "\\Members\\" + UserID + "\\Notes\\" + NoteID;

                    string ContentPath = AppRoot + "\\Content\\NotesData\\" + NoteID;

                    try
                    {
                        Directory.Delete(Serverpath, true);
                        if (Directory.Exists(ContentPath))
                        {
                            Directory.Delete(ContentPath, true);
                        }
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine("Deleting Failed : {0}", e.Message);
                    }
                }

                return(true);
            }
        }
コード例 #27
0
 /* Submits Note Rating
  * Returns false if fails or not allowed to rate
  * Return True if successfully submitted or updated
  * */
 public static bool SubmitNoteRating(RatingModel Rm, int UserID)
 {
     using (var context = new NotesMarketPlaceEntities())
     {
         var IsAllowedToRate = context.Downloads.FirstOrDefault(dwn => dwn.NoteID == Rm.NoteID && dwn.BuyerID == UserID && dwn.IsAllowed && dwn.IsDownloaded);
         if (IsAllowedToRate == null)
         {
             return(false); //Not allowed
         }
         else
         {
             NotesReview NR = context.NotesReviews.FirstOrDefault(nr => nr.NoteID == Rm.NoteID && nr.BuyerID == UserID);
             if (NR != null)
             {
                 NR.Comment      = Rm.Comment;
                 NR.Rating       = Rm.Stars;
                 NR.ModifiedBy   = UserID;
                 NR.ModifiedDate = System.DateTime.Now;
             }
             else
             {
                 context.NotesReviews.Add(new NotesReview()
                 {
                     NoteID       = Rm.NoteID,
                     BuyerID      = UserID,
                     Rating       = Rm.Stars,
                     Comment      = Rm.Comment,
                     CreatedBy    = UserID,
                     CreatedDate  = System.DateTime.Now,
                     ModifiedBy   = UserID,
                     ModifiedDate = System.DateTime.Now,
                     DownloadID   = IsAllowedToRate.DownloadID
                 });
             }
             try
             {
                 context.SaveChanges();
             }
             catch (Exception e)
             {
                 Debug.WriteLine(e);
                 return(false);
             }
             return(true);
         }
     }
 }
コード例 #28
0
        public static int ChangePassword(ChangePasswordModel cp, int UID)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                User u = context.Users.FirstOrDefault(user => user.Passwd == cp.Password && user.IsActive);
                if (u == null)
                {
                    return(0);
                }

                u.Passwd       = cp.NewPassword;
                u.ModifiedDate = System.DateTime.Now;
                u.ModifiedBy   = u.UserID;
                context.SaveChanges();
                return(1);
            }
        }
コード例 #29
0
        public static int AllowDownload(int DownloadId, int UID)
        {
            using (NotesMarketPlaceEntities context = new NotesMarketPlaceEntities())
            {
                if (!context.Downloads.Any(d => d.DownloadID == DownloadId && UID == d.SellerID))
                {
                    return(0);
                }

                Download dwn = context.Downloads.FirstOrDefault(d => d.DownloadID == DownloadId);
                dwn.ModifiedBy   = UID;
                dwn.ModifiedDate = System.DateTime.Now;
                dwn.IsAllowed    = true;
                context.SaveChanges();
                return(dwn.BuyerID);
            }
        }
コード例 #30
0
        public string Delete(int id)
        {
            using (var _Context = new NotesMarketPlaceEntities())
            {
                // get current user
                var currentuserID = _Context.tblUsers.FirstOrDefault(model => model.EmailID == User.Identity.Name).ID;

                var note = _Context.tblSellerNotes.SingleOrDefault(model => model.ID == id && model.Status == 6 && model.SellerID == currentuserID);

                var attachment = _Context.tblSellerNotesAttachements.SingleOrDefault(model => model.NoteID == id);

                _Context.tblSellerNotesAttachements.Remove(attachment);
                _Context.tblSellerNotes.Remove(note);
                _Context.SaveChanges();
            }

            return("Dashboard");
        }