public ActionResult AdmitSelectedProject(int projectId, int offerId)
        {
            using (DbContextModel db = new DbContextModel())
            {
                db.Configuration.LazyLoadingEnabled = false;
                ProjectModel        project = db.Projects.Where(x => x.ProjectId.Equals(projectId)).FirstOrDefault();
                OfferToProjectModel offer   = db.OfferToProjectModels.Where(x => x.OfferToProjectId.Equals(offerId)).Include("WorkerProposedToProject").FirstOrDefault();
                if (project.UsersBelongsToProject == null)
                {
                    project.UsersBelongsToProject = offer.WorkerProposedToProject.UserId.ToString();
                }
                else
                {
                    project.UsersBelongsToProject += "," + offer.WorkerProposedToProject.UserId.ToString();
                }

                db.Notifications.Add(new NotificationModel {
                    Project = project, NotificationType = NotificationTypes.WybranieOfertyRealizacjiProjektu, IsSeen = false, DateSend = DateTime.Now, NotificationReceiver = offer.WorkerProposedToProject, Title = "Zaakceptowanie oferty realizacji projektu", Content = string.Format("Twoja oferta realizacji projektu została wybrana w projekcie {0}.", project.ProjectTitle)
                });

                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();

                return(View("SuccessfulAdmitProject"));
            }
        }
        public ActionResult AddOfferToProject(int projectId)
        {
            OfferToProjectModel offerToProject = new OfferToProjectModel();

            using (DbContextModel db = new DbContextModel())
            {
                offerToProject.ProjectWhereOfferWasAdded = db.Projects.FirstOrDefault(p => p.ProjectId.Equals(projectId));
                return(View(offerToProject));
            }
        }
        public ActionResult EditOfferToProject(OfferToProjectModel offerToProject)
        {
            using (DbContextModel db = new DbContextModel())
            {
                db.Configuration.LazyLoadingEnabled = false;

                OfferToProjectModel oldOffer = db.OfferToProjectModels.FirstOrDefault(x => x.OfferToProjectId.Equals(offerToProject.OfferToProjectId));
                oldOffer.Budget      = offerToProject.Budget;
                oldOffer.Description = offerToProject.Description;
                oldOffer.EstimatedTimeToFinishProject = offerToProject.EstimatedTimeToFinishProject;

                db.Entry(oldOffer).State = EntityState.Modified;
                db.SaveChanges();
                return(View("SuccessfullEditOffer"));
            }
        }
 public ActionResult AddOfferToProject(OfferToProjectModel offerToProject)
 {
     using (DbContextModel db = new DbContextModel())
     {
         int userId = Convert.ToInt32(Session["UserId"]);
         offerToProject.UserWhoAddOffer         = db.UserAccounts.FirstOrDefault(u => u.UserId.Equals(userId));
         offerToProject.AddOfferDate            = DateTime.Now;
         offerToProject.WorkerProposedToProject = db.UserAccounts.FirstOrDefault(u => u.UserId.Equals(userId));
         db.Projects.Attach(offerToProject.ProjectWhereOfferWasAdded);
         db.OfferToProjectModels.Add(offerToProject);
         var project = db.Projects.Include("ProjectOwner").Where(x => x.ProjectId.Equals(offerToProject.ProjectWhereOfferWasAdded.ProjectId)).FirstOrDefault();
         db.Notifications.Add(new NotificationModel {
             Project = project, NotificationType = NotificationTypes.NowaOfertaRealizacjiProjektu, IsSeen = false, DateSend = DateTime.Now, NotificationReceiver = project.ProjectOwner, Title = "Nowa oferta realizacji projektu", Content = string.Format("W twoim projekcie {0} została dodana nowa oferta realizacji przez użytkownika {1}.", project.ProjectTitle, offerToProject.UserWhoAddOffer.Username)
         });
         db.SaveChanges();
         return(View("SuccessfullAddOffer"));
     }
 }