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>"); }
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>"); }