示例#1
0
        public List <PetitionModel> AdminReview()
        {
            List <PetitionModel> list = new List <PetitionModel>();

            List <PetitionInfo> petlist = Db.PetitionInfoes.OrderByDescending(x => x.Approval == false).ToList();

            foreach (var x in petlist)
            {
                PetitionModel model = new PetitionModel();
                model.PetitionId = x.PetitionId;
                model.Title      = x.Title;
                model.Phone      = x.Phone;
                model.StateId    = x.StateId;
                model.IsApproved = x.Approval.Value;
                model.PetDate    = x.PetDate.ToString();
                model.ToWhom     = x.ToWhom;
                model.WhySign    = x.WhySign;
                model.Selected   = x.CategoryId;
                //model.CompSelected = x.ComplaintId.Value;
                model.NameOfFile = x.NameOfFile;

                list.Add(model);
            }
            return(list);
        }
示例#2
0
        public void ToAdminWithCustomerEmail(PetitionModel model)
        {
            string MessageFrom = string.Format("Dear Customer, You have sucessfully created your petition with Title: {0} to {1}:<br/>", model.Title, model.ToWhom);

            var myMessage = new MailMessage();

            myMessage.To.Add(new MailAddress("*****@*****.**"));  // replace with valid value
            // myMessage.Bcc.Add(new MailAddress("*****@*****.**"));
            // myMessage.Bcc.Add(new MailAddress(model.Email));
            myMessage.From    = new MailAddress("*****@*****.**"); // replace with valid value
            myMessage.Subject = "Petition Created!";
            myMessage.Body    = MessageFrom;

            myMessage.IsBodyHtml = true;

            using (var smtp = new SmtpClient())
            {
                var credential = new NetworkCredential
                {
                    UserName = "******", // replace with valid value
                    Password = "******"                 // replace with valid value
                };
                smtp.Credentials = credential;
                smtp.Host        = "smtp.gmail.com";
                smtp.Port        = 587;
                smtp.EnableSsl   = true;
                smtp.Send(myMessage);
            }
        }
示例#3
0
        public ActionResult PetitionDetails(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/PetitionDetails", model));
        }
示例#4
0
        public ActionResult EditPetition(int petitionId)
        {
            PetitionService service = new PetitionService();
            PetitionModel   model   = service.GetPetition(petitionId);

            return(View("Petition/EditPetition", model));
        }
示例#5
0
        public ActionResult EditPetition(PetitionModel model)
        {
            TryUpdateModel(model);
            PetitionService service = new PetitionService();

            service.UpdatePetition(model, User.Identity.GetUserId());
            return(RedirectToAction("PetitionDetails", new { petitionId = model.PetitionID }));
        }
        public ActionResult MyPage()
        {
            PetitionModel model = new PetitionModel();
            var           Mine  = MyPetition();

            model.MyPetitionsList = Mine;
            return(View(model));
        }
示例#7
0
        public ActionResult Search()
        {
            PetitionModel model     = new PetitionModel();
            var           listSigns = PetitionSigns();

            model.PetitionsSignList = listSigns;
            return(View(model));
        }
示例#8
0
        public ActionResult Admin()
        {
            PetitionModel model = new PetitionModel();
            var           list  = AdminReview();

            model.AdminList = list;
            return(View(model));
        }
示例#9
0
        public ActionResult PetitionDifferent()
        {
            PetitionModel model = new PetitionModel();
            var           list  = PetitionTypes();

            model.PetitionsList = list;

            return(View(model));
        }
示例#10
0
        public ActionResult Petition(PetitionModel model, HttpPostedFileBase uploadedFile)
        {
            //ToAdminWithCustomerEmail(model);



            PetitionInfo petitionInfo = new PetitionInfo();

            petitionInfo.PetitionId  = model.PetitionId;
            petitionInfo.Title       = model.Title;
            petitionInfo.StateId     = model.StateId;
            petitionInfo.ToWhom      = model.ToWhom;
            petitionInfo.WhySign     = model.WhySign;
            petitionInfo.Phone       = model.Phone;
            petitionInfo.CategoryId  = model.Selected;
            petitionInfo.ComplaintId = model.CompSelected;
            petitionInfo.Approval    = false;
            petitionInfo.PetDate     = DateTime.Now;
            petitionInfo.UserId      = User.Identity.GetUserId().ToString();

            if (uploadedFile != null)
            {
                string filename     = System.IO.Path.GetFileName(uploadedFile.FileName);
                string physicalPath = Server.MapPath("~/images/Files/" + filename);
                uploadedFile.SaveAs(physicalPath);
                petitionInfo.NameOfFile = filename;
                ViewBag.File            = petitionInfo.NameOfFile;
            }
            else
            {
                petitionInfo.NameOfFile = "white.jpg";
            }
            ViewBag.File = petitionInfo.NameOfFile;
            Db.PetitionInfoes.Add(petitionInfo);
            try
            {
                Db.SaveChanges();
                TempData["Success"] = "Your Petition Has Been Sucessfully Created!";

                return(RedirectToAction("Petition"));
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }


            return(RedirectToAction("Petition"));
        }
示例#11
0
        public ActionResult Create(PetitionModel petition)
        {
            var service = new PetitionService();

            petition.SubmitterUserID = User.Identity.GetUserId();
            petition.SubmitterName   = User.Identity.Name;

            var petitionId = service.CreateNewPetition(petition);

            return(RedirectToAction("PetitionCreated", "Petitions"));
        }
示例#12
0
        private void OnPetitionCreated(PetitionCreated @event)
        {
            var model = new PetitionModel
            {
                Id        = @event.SourceId,
                Title     = @event.Title,
                StartDate = @event.StartDate,
                State     = PetitionState.Running
            };

            _modelStore.Save(model);
        }
示例#13
0
        public ActionResult Index()
        {
            PetitionModel model = new PetitionModel();
            var           list  = PetitionTypes();

            model.PetitionsList = list;
            var listSign = PetitionSign();

            model.PetitionsSignList = listSign;

            return(View(model));
        }
示例#14
0
        private IEnumerable <SelectListItem> StatesName(PetitionModel model)
        {
            List <State> states = new List <State>();

            states = Db.States.ToList();
            var list = from s in states
                       select new SelectListItem
            {
                Selected = s.StateNameId.ToString() == model.StateId.ToString(),
                Text     = s.StateName,
                Value    = s.StateNameId.ToString(),
            };

            return(list);
        }
示例#15
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            PetitionModel = await _context.PetitionModel.FirstOrDefaultAsync(m => m.PetitionModelId == id);

            if (PetitionModel == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        public List <PetitionModel> PetitionTypes()
        {
            List <PetitionModel> list = new List <PetitionModel>();

            List <PetitionCategory> CategoryList = Db.PetitionCategories.OrderBy(x => x.Category).ToList();

            foreach (var a in CategoryList)
            {
                PetitionModel model = new PetitionModel();
                model.CategoryNameId = a.CategoryNameId;
                model.Category       = a.Category;
                model.CategoryPic    = a.CategoryPic;
                list.Add(model);
            }
            return(list);
        }
示例#17
0
        public ActionResult PetitionDifferent(PetitionModel mode)
        {
            List <PetitionModel> list = new List <PetitionModel>();
            var r = Db.PetitionCategories.ToList();

            foreach (var a in r)
            {
                PetitionModel model = new PetitionModel();
                model.CategoryNameId = a.CategoryNameId;
                model.Category       = a.Category;
                model.CategoryPic    = a.CategoryPic;
                list.Add(model);
            }
            mode.PetitionsList = list;

            return(View(mode));
        }
示例#18
0
        public ActionResult SignatureIndex(int?id, PetitionModel sign)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            PetitionSignatureModel model = new PetitionSignatureModel();


            var property = Db.PetitionInfoes.Where(x => x.PetitionId == id).SingleOrDefault();

            ViewBag.PetTitle = property.Title;
            ViewBag.Petition = property.WhySign;
            ViewBag.Image    = property.NameOfFile;

            return(View(model));
        }
示例#19
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            PetitionModel = await _context.PetitionModel.FindAsync(id);

            if (PetitionModel != null)
            {
                _context.PetitionModel.Remove(PetitionModel);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#20
0
        public List <PetitionModel> PetitionSigns()
        {
            List <PetitionModel> listSigns = new List <PetitionModel>();

            List <PetitionInfo> SignList = Db.PetitionInfoes.OrderBy(x => x.PetitionId).ToList();

            foreach (var a in SignList)
            {
                PetitionModel model = new PetitionModel();
                model.PetitionId = a.PetitionId;
                model.NameOfFile = a.NameOfFile;
                model.Title      = a.Title;
                model.WhySign    = a.WhySign;
                model.PetDate    = a.PetDate.ToString();
            }
            return(listSigns);
        }
        public ActionResult ShowCategory(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            PetitionModel model = new PetitionModel();
            var           list  = PetitionTypes();

            model.PetitionsList = list;
            var property = Db.PetitionCategories.Where(x => x.CategoryNameId == id).SingleOrDefault();

            ViewBag.Category    = property.Category;
            ViewBag.CategoryPic = property.CategoryPic;
            var listSign = PetitionSign();

            model.PetitionsSignList = listSign;
            return(View(model));
        }
示例#22
0
        public ActionResult Edit(PetitionModel model)
        {
            PetitionInfo petInfo = new PetitionInfo();

            petInfo.PetitionId  = model.PetitionId;
            petInfo.NameOfFile  = model.NameOfFile;
            petInfo.Title       = model.Title;
            petInfo.Approval    = model.IsApproved;
            petInfo.WhySign     = model.WhySign;
            petInfo.ToWhom      = model.ToWhom;
            petInfo.StateId     = model.StateId;
            petInfo.Phone       = model.Phone;
            petInfo.PetDate     = DateTime.Parse(model.PetDate);
            petInfo.CategoryId  = model.Selected;
            petInfo.ComplaintId = model.CompSelected;
            petInfo.UserId      = model.UserId;



            Db.Entry(petInfo).State = EntityState.Modified;
            try
            {
                Db.SaveChanges();
                TempData["Success"] = "Your Petition Has Been Sucessfully Edited!";

                return(RedirectToAction("Edit"));
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }

            return(RedirectToAction("Edit"));
        }
示例#23
0
        public ActionResult Edit(int Id)
        {
            var           a     = Db.PetitionInfoes.Where(x => x.PetitionId == Id).SingleOrDefault();
            PetitionModel model = new PetitionModel();

            model.PetitionId = Id;
            model.Title      = a.Title;
            model.WhySign    = a.WhySign;
            model.ToWhom     = a.ToWhom;
            model.PetDate    = a.PetDate.Value.ToString();
            model.IsApproved = a.Approval.Value;

            model.StateId      = a.StateId;
            model.Phone        = a.Phone;
            model.Selected     = a.CategoryId;
            model.CompSelected = a.ComplaintId.Value;

            model.NameOfFile = a.NameOfFile;
            model.UserId     = User.Identity.GetUserId().ToString();
            return(View(model));
        }
示例#24
0
        public List <PetitionModel> MyPetition()
        {
            List <PetitionModel> Mine = new List <PetitionModel>();
            var c = User.Identity.GetUserId().ToString();


            List <PetitionInfo> MyList = Db.PetitionInfoes.Where(x => x.UserId == c).ToList();

            foreach (var a in MyList)
            {
                PetitionModel model = new PetitionModel();
                model.PetitionId = a.PetitionId;
                model.NameOfFile = a.NameOfFile;
                model.Title      = a.Title;
                model.WhySign    = a.WhySign;
                model.PetDate    = a.PetDate.ToString();
                model.IsApproved = a.Approval.Value;
                Mine.Add(model);
            }
            return(Mine);
        }
示例#25
0
        public ActionResult Search(PetitionModel mode)
        {
            List <PetitionModel> list = new List <PetitionModel>();
            var r = Db.PetitionInfoes.Where(emp => emp.Title.Contains(mode.Search)).ToList();

            foreach (var a in r)
            {
                PetitionModel model = new PetitionModel();
                model.PetitionId = a.PetitionId;
                model.Title      = a.Title;
                model.Phone      = a.Phone;
                model.WhySign    = a.WhySign;
                model.ToWhom     = a.ToWhom;
                model.PetDate    = a.PetDate.ToString();
                model.NameOfFile = a.NameOfFile;
                list.Add(model);
            }
            mode.PetitionsSignList = list;

            return(View(mode));
        }
示例#26
0
        public ActionResult Petition(PetitionCategory pet, PetitionComplaint comp)
        {
            List <SelectListItem> stateNameslist = new List <SelectListItem>();
            PetitionModel         model          = new PetitionModel();
            List <State>          stateslist     = Db.States.ToList();

            stateslist.ForEach(x =>
            {
                stateNameslist.Add(new SelectListItem {
                    Text = x.StateName, Value = x.StateNameId.ToString()
                });
            }); //For The DropDownList
            model.StateNamesList = stateNameslist;


            model.StateName     = StatesName(model);
            model.CategoryList  = Db.PetitionCategories.ToList();
            model.Selected      = pet.CategoryNameId;
            model.ComplaintList = Db.PetitionComplaints.ToList();
            model.CompSelected  = comp.ComplaintId;


            return(View(model));
        }
示例#27
0
 public ActionResult Admin(PetitionModel model)
 {
     return(View(model));
 }