Esempio n. 1
0
        public ActionResult Index()
        {
            AddNewPostViewModel model = new AddNewPostViewModel();

            model.SetSharedData(User);
            return(View(model));
        }
Esempio n. 2
0
 public ActionResult AddPost1()
 {
     try
     {
         var sess = Session["OrgId"].ToString();
         int i    = Convert.ToInt32(sess);
         var post = new Post();
         // Get all the groups from the database
         var grp = db.OrgGroups.Where(c => c.OrgId == i).ToList();
         // Get all the posttopics from the database
         var posttopics = db.PostTopics.ToList();
         // Initialize the view model
         var viewmodel = new AddNewPostViewModel
         {
             Post       = post,
             PostTopics = posttopics,
             OrgGroups  = grp.Select(x => new OrgGroup()
             {
                 OrgGroupId = x.OrgGroupId,
                 OrgId      = x.OrgId,
                 GroupName  = x.GroupName
             })
                          .ToList()
         };
         ViewBag.OrgId       = new SelectList(db.Orgs, "OrgId", "OrgName", post.OrgId);
         ViewBag.PostTopicId = new SelectList(db.PostTopics, "PostTopicId", "PostTopicName", post.PostTopicId);
         return(PartialView("~/Views/Shared/PartialViewsForms/_AddPost1.cshtml", viewmodel));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         return(Redirect("~/ErrorHandler.html"));
     }
 }
Esempio n. 3
0
        public async Task <ActionResult> Index(AddNewPostViewModel model)
        {
            try
            {
                MultipartFormDataContent content;

                bool FileAttached = (Request.RequestContext.HttpContext.Session["AddPostImage"] != null);


                byte[] fileData  = null;
                var    ImageFile = (HttpPostedFileWrapper)Request.RequestContext.HttpContext.Session["AddPostImage"];
                if (FileAttached)
                {
                    using (var binaryReader = new BinaryReader(ImageFile.InputStream))
                    {
                        fileData = binaryReader.ReadBytes(ImageFile.ContentLength);
                    }
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Please Choose an image to upload."));
                }

                ByteArrayContent fileContent;
                JObject          response;

                bool firstCall = true;
                callAgain : content = new MultipartFormDataContent();
                if (FileAttached)
                {
                    fileContent = new ByteArrayContent(fileData);
                    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                    {
                        FileName = ImageFile.FileName
                    };
                    content.Add(fileContent);
                }

                response = await ApiCall.CallApi("api/Admin/AddPost", User, isMultipart : true, multipartContent : content);

                if (firstCall && response.ToString().Contains("UnAuthorized"))
                {
                    firstCall = false;
                    goto callAgain;
                }
                else if (response.ToString().Contains("UnAuthorized"))
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "UnAuthorized Error"));
                }
                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
                }
                else
                {
                    TempData["SuccessMessage"] = "The post has been published successfully.";

                    return(Json(new { success = true, responseText = "Success" }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
Esempio n. 4
0
        public ActionResult Create1(AddNewPostViewModel viewmodel)
        {
            try
            {
                var rr = Session["OrgId"].ToString();
                int i  = Convert.ToInt32(rr);
                var RegisteredUserId = Convert.ToInt32(Session["RegisteredUserId"]);
                var SessionId        = Convert.ToInt32(Session["SessionId"]);

                viewmodel.Post.PostCreatorId    = RegisteredUserId;
                viewmodel.Post.OrgId            = i;
                viewmodel.Post.CreatorFullName  = db.RegisteredUsers.Where(x => x.RegisteredUserId == RegisteredUserId).Select(x => x.FullName).FirstOrDefault();
                viewmodel.Post.PostCreationDate = DateTime.Now;
                viewmodel.Post.Isarchived       = false;


                // Adding / Saving the Post
                if (!(ModelState.IsValid) || ModelState.IsValid)
                {
                    db.Posts.Add(viewmodel.Post);
                    db.SaveChanges();

                    // UPON CREATING A POST - LOG THE EVENT
                    var orgeventlog = new Org_Events_Log()
                    {
                        Org_Event_SubjectId       = viewmodel.Post.PostId.ToString(),
                        Org_Event_SubjectName     = viewmodel.Post.PostSubject,
                        Org_Event_TriggeredbyId   = Session["RegisteredUserId"].ToString(),
                        Org_Event_TriggeredbyName = Session["FullName"].ToString(),
                        Org_Event_Time            = DateTime.Now,
                        OrgId            = Session["OrgId"].ToString(),
                        Org_Events_Types = Org_Events_Types.Created_Post
                    };
                    db.Org_Events_Logs.Add(orgeventlog);
                    db.SaveChanges();

                    var grps       = viewmodel.OrgGroups.Select(x => x.OrgGroupId).ToList();
                    var grpstolist = new List <int>(grps);

                    foreach (var grp in grps)
                    {
                        // GET VALUE OF IS-SELECTED
                        var isselected = viewmodel.OrgGroups.Where(x => grp == x.OrgGroupId).Select(x => x.IsSelected).FirstOrDefault();
                        if (isselected == true)
                        {
                            var orgPostGrps = new OrgSchPostGrp()
                            {
                                OrgGroupId = grp,
                                OrgId      = i,
                                OrgPostId  = viewmodel.Post.PostId,
                            };
                            db.OrgSchPostGrps.Add(orgPostGrps);
                            db.SaveChanges();
                        }
                    }
                }


                // Send Post as email if Send as Email is True
                if (viewmodel.Post.SendAsEmail == true)
                {
                    var send = SendTestEmail(viewmodel.Post.PostContent, viewmodel.Post.PostSubject);
                }
                //selected org list
                var selectedgroups  = viewmodel.OrgGroups.Where(x => x.IsSelected == true).Select(x => x.OrgGroupId).ToList();
                var selectedgroupid = new List <int>(selectedgroups);

                return(RedirectToAction("Index", "Orgs", new { id = i }));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(View(viewmodel));
            }
        }