Esempio n. 1
0
        public void BidProject(tbProjectBids projectBid)
        {
            using CloudWorkContext context = new CloudWorkContext();

            if (context.ProjectBids.Count(pb => pb.userID == projectBid.userID && pb.projectID == projectBid.projectID) > 0)
            {
                ResponseBuilder.throwError("თქვენ უკვე გაგზავნილი გაქვთ შეთავაზება");
            }
            if (context.Projects.Count(p => p.ID == projectBid.projectID && p.userId == projectBid.userID) > 0)
            {
                ResponseBuilder.throwError("თქვენივე დადებულ პროექტზე შეთავაზებას ვერ გააგზავნით");
            }
            var    project           = context.Projects.Where(x => x.ID == projectBid.projectID).FirstOrDefault();
            int    projectOwnerID    = project.userId;
            string projectOwnerEmail = new PKG_USERS().getUserEmail(projectOwnerID);

            context.ProjectBids.Add(projectBid);
            context.SaveChanges();

            new EmailService().SendEmail(projectOwnerEmail, "ახალი შემოთავაზება", "თქვენ გაქვთ ახალი შემოთავაზება პროექტზე <b>" + project.name + "</b>");
        }
Esempio n. 2
0
        public void AcceptBid(int bidId, int userId)
        {
            using CloudWorkContext context = new CloudWorkContext();
            var bid     = context.ProjectBids.FirstOrDefault(b => b.ID == bidId);
            var project = context.Projects.Where(a => a.ID == bid.projectID && a.userId == userId).FirstOrDefault();

            if (project == null || project.ID == 0)
            {
                ResponseBuilder.throwError("თქვენ არ გაქვთ ამ პროექტზე ცვლილებების უფლება");
            }

            if (project.status != 0)
            {
                ResponseBuilder.throwError("იმისთვის რომ დაეთანხმოთ შეთავაზებას პროოექტის სტატუსი უნდა იყოს ღია");
            }

            var bidsToRefuse = context.ProjectBids.Where(x => x.projectID == bid.projectID).ToList();


            // Changes here
            project.status       = 1;                // 0 ღია, 1 მიმდინარე, 2 დასრულებული
            project.workerUserId = bid.userID;
            bidsToRefuse.ForEach(x => x.status = 2); // refuse all

            bid.status = 1;                          // 0 - მოლოდინში, 1 - დადასტურებული, 2 - უარყოფილი

            //context.ProjectBids.Update(bid);
            //context.Projects.Update(project);
            context.SaveChanges();
            var users = new PKG_USERS();

            string workerEmail = users.getUserEmail(Convert.ToInt32(project.workerUserId));
            string ownerEmail  = users.getUserEmail(Convert.ToInt32(project.userId));

            new EmailService().SendEmail(workerEmail, "დამსაქმებელი დაეთანხმა თქვენ შეთავაზებას", "თქვენი შეტავაზება პროექტზე მიღებულია. შეგიძლიათ დაეკონტაქტოთ დამსაქმებელს ჩვენი პორტალიდან <br />პროექტი:<h1><a href='http://cloudwork.ge/ProjectDetails/'" + project.ID + ">" + project.name + "</a></h1>");
            new EmailService().SendEmail(ownerEmail, "პროექტის დაწყება", "თქვენ დაეთანხმეთ ფრილანსერის შემოთავაზებას <a href='http://cloudwork.ge/ProjectDetails/'" + project.ID + ">" + project.name + "</a>");
        }