Beispiel #1
0
 public ActionResult MessagePageDisplayAuto(int Jobid)
 {
     using (dbEntities db = new dbEntities())
     {
         int user = (int)Session["loginid"];
         UserMessagesVeiwModel temp = new UserMessagesVeiwModel();
         temp.Inbox = new List <Messaging>();
         temp.Sent  = new List <Messaging>();
         List <Messaging> x = db.Users.Where(o => o.Id == user).Single().Messagings.ToList();
         List <Messaging> y = db.Users.Where(o => o.Id == user).Single().Messagings1.ToList();
         foreach (var t in x)
         {
             temp.Inbox.Add(t);
         }
         foreach (var q in y)
         {
             temp.Sent.Add(q);
         }
         temp.Jobtitle         = db.Jobs.Where(o => o.Id == Jobid).Single().Title;
         temp.Msg.ReceiverId   = db.Jobs.Where(o => o.Id == Jobid).Single().EmployerId;
         temp.Msg              = null;
         temp.ErrorLoadingPage = null;
         return(View("~/Views/Msg/ComposeMsgView.cshtml", temp));
     }
 }
Beispiel #2
0
        public ActionResult CreateMsg(UserMessagesVeiwModel model)
        {
            using (dbEntities db = new dbEntities())
            {
                Boolean     ValidEmail = false;
                List <User> users      = db.Users.ToList();
                int         receiverid = -1;
                if (model.Employerid != null)
                {
                    receiverid = (int)model.Employerid;
                }
                foreach (var u in users)
                {
                    if (u.Email.Equals((string)model.Employeremail))
                    {
                        ValidEmail = true;
                        receiverid = u.Id;
                    }
                }
                if (ModelState.IsValid && ValidEmail == true)
                {
                    int       senderid = (int)Session["loginid"];
                    int       Msgid    = db.Messagings.Count();
                    Messaging temp     = new Messaging()
                    {
                        Id         = Msgid + 1,
                        Date       = DateTime.Now,
                        SenderId   = senderid,
                        ReceiverId = receiverid,
                        Subject    = model.Msg.Subject,
                        JobId      = model.Msg.JobId,
                        Message    = model.Msg.Message
                    };
                    db.Users.Where(o => o.Id == senderid).Single().Messagings1.Add(temp);
                    db.SaveChanges();

                    //make another message for the receiver of the message. must do this since the two messages must have different message ids
                    Msgid = db.Messagings.Count();
                    Messaging temp2 = new Messaging()
                    {
                        Id         = Msgid + 1,
                        Date       = DateTime.Now,
                        SenderId   = senderid,
                        ReceiverId = receiverid,
                        Subject    = model.Msg.Subject,
                        JobId      = model.Msg.JobId,
                        Message    = model.Msg.Message
                    };

                    db.Users.Where(o => o.Id == receiverid).Single().Messagings.Add(temp);
                    db.SaveChanges();
                    return(RedirectToAction("MessagePageDisplayStd", "Msg"));
                }
                model.ErrorLoadingPage = "Please enter a valid email";
                return(View("~/Views/Msg/MsgView.cshtml", model)); //redirect to message page with error output on page as well
            }
        }