public void PosterDelay(SidejobEntities context, int status, SidejobModel.ResponseDelay t1) { if (status == 4) { var reminderLevel = t1.ReminderLevel; if (reminderLevel == 0) { // Email Poster. Email Bidder // Warn Poster with reminder 1 //Update Time Delay to Reminder level 1 EmailPoster(t1, Message.Warning); EmailBidder(t1, Message.Notification); t1.ReminderLevel = 1; } if (reminderLevel == 1) { // Email Poster. Email Bidder // Warn Poster with reminder 2 //Update Time Delay to Reminder level 2 EmailPoster(t1, Message.Warning); EmailBidder(t1, Message.Notification); t1.ReminderLevel = 2; } if (reminderLevel == 2) { // Email Poster. Email Bidder // Warn Poster with reminder 3 //Update Time Delay to Reminder level 3 EmailPoster(t1, Message.Warning); EmailBidder(t1, Message.Notification); t1.ReminderLevel = 3; } if (reminderLevel == 3) { ////////////////////////////////Poster no payment//////////////////////////// // Add The Poster to blocked poster BlockPoster(context); // Email Bidder & Email Poster //Throught Button in CustomerRefund or ProfessionalRefund // EmailBidder(t1, Message.Refund); EmailPoster(t1, Message.Blocked); //Refund Bidder RefundBidder(); //Through PayPalAPI inthe future //////////////////////////////////////// //Delete from ClosedProject var closedproject = (from c in context.ClosedProjects where c.ProjectID == ProjectID select c).FirstOrDefault(); if (closedproject != null) { context.DeleteObject(closedproject); } context.SaveChanges(); //Insert into archived var currentproject = (from c in context.Projects where c.ProjectID == ProjectID select c).FirstOrDefault(); var currentprojectphoto = (from c in context.ProjectPhotoes where c.ProjectID == ProjectID select c).ToList(); var currentprojectpicture = (from c in context.ProjectPictures where c.ProjectID == ProjectID select c).FirstOrDefault(); var currentprojectrequirement = (from c in context.ProjectRequirements where c.ProjectID == ProjectID select c).FirstOrDefault(); if (currentproject != null) { if (currentprojectrequirement != null) { if ((from c in context.ArchievedCancelledProjects where c.ProjectID == ProjectID select c).FirstOrDefault() == null) { var acp = new ArchievedCancelledProject { ProjectID = (int)currentproject.ProjectID, DateFinished = DateTime.Now.Date, PosterID = PosterID, PosterRole = PosterRole, BidderID = BidderID, BidderRole = BidderRole, HighestBid = currentproject.HighestBid, Currency = currentprojectrequirement.CurrencyID, Status = currentproject.StatusInt }; context.AddToArchievedCancelledProjects(acp); } } } //for each record foreach (var cp in currentprojectphoto) { if ((from c in context.ArchievedCancelledProjectPhotoes where c.PhotoID == cp.PhotoID select c).FirstOrDefault() == null) { var ac = new ArchievedCancelledProjectPhoto { PhotoID = cp.PhotoID, ProjectID = cp.ProjectID, PhotoPath = cp.PhotoPath, Caption = cp.Caption, AlbumID = cp.AlbumID, PhotoRank = cp.PhotoRank }; context.AddToArchievedCancelledProjectPhotoes(ac); } } if (currentprojectpicture != null) { if ((from c in context.ArchievedCancelledProjectPictures where c.AlbumID == currentprojectpicture.AlbumID select c).FirstOrDefault() == null) { var acpi = new ArchievedCancelledProjectPicture { AlbumID = currentprojectpicture.AlbumID, AlbumCaption = currentprojectpicture.AlbumCaption, Numberofimages = currentprojectpicture.Numberofimages, ProjectID = currentprojectpicture.ProjectID }; context.AddToArchievedCancelledProjectPictures(acpi); } } if (currentprojectrequirement != null) { if ((from c in context.ArchievedCancelledProjectRequirements where c.ProjectID == currentprojectpicture.AlbumID select c).FirstOrDefault() == null) { var acpr = new ArchievedCancelledProjectRequirement { ProjectID = currentprojectrequirement.ProjectID, LCID = currentprojectrequirement.LCID, CategoryID = currentprojectrequirement.CategoryID, CategoryName = currentprojectrequirement.CategoryName, JobID = currentprojectrequirement.JobID, JobTitle = currentprojectrequirement.JobTitle, ExperienceID = currentprojectrequirement.ExperienceID, CrewNumberID = currentprojectrequirement.CrewNumberID, LicensedID = currentprojectrequirement.LicensedID, InsuredID = currentprojectrequirement.InsuredID, RelocationID = currentprojectrequirement.RelocationID, ProjectTitle = currentprojectrequirement.ProjectTitle, StartDate = currentprojectrequirement.StartDate, EndDate = currentprojectrequirement.EndDate, AmountOffered = currentprojectrequirement.AmountOffered, CurrencyID = currentprojectrequirement.CurrencyID, Description = currentprojectrequirement.Description, SpecialNotes = currentprojectrequirement.SpecialNotes, Address = currentprojectrequirement.Address, CountryID = currentprojectrequirement.CountryID, CountryName = currentprojectrequirement.CountryName, RegionID = currentprojectrequirement.RegionID, RegionName = currentprojectrequirement.RegionName, CityID = currentprojectrequirement.CityID, CityName = currentprojectrequirement.CityName, Zipcode = currentprojectrequirement.Zipcode, DatePosted = currentprojectrequirement.DatePosted, TimeLeft = currentprojectrequirement.TimeLeft }; context.AddToArchievedCancelledProjectRequirements(acpr); } } context.SaveChanges(); //delete from current project if (currentprojectrequirement != null) context.DeleteObject(currentproject); if (currentprojectphoto.Count != 0) { foreach (var cp in currentprojectphoto) { context.DeleteObject(cp); } } if (currentprojectpicture != null) context.DeleteObject(currentprojectpicture); if (currentprojectrequirement != null) context.DeleteObject(currentprojectrequirement); t1.ReminderLevel = 4; context.SaveChanges(); ///////////////////////////////Poster no payment//////////////////////////// } } }
/////////////////////Get Bidder Poster Project Properties///////////////////////// public void GetBidderPosterProjectProperties(SidejobModel.ResponseDelay rd) { if (rd.BidderID != null) BidderID = (int)rd.BidderID; PosterID = rd.PosterID; ProjectID = rd.ProjectID; ////////////////////////POSTER BIDDER PROJECT LCID////////////////////////// using (var context = new SidejobEntities()) { if (rd.BidderRole == "CUS") { BidderRole = "CUS"; var c1 = (from c in context.Customers where c.CustomerID == rd.BidderID select c).FirstOrDefault(); if (c1 != null) { BidderLCID = c1.LCID; BidderUsername = c1.UserName; var cg = (from c in context.CustomerGenerals where c.CustomerID == rd.BidderID select c).FirstOrDefault(); if (cg != null) { BidderEmailAddress = cg.EmailAddress; } } } if (rd.BidderRole == "PRO") { BidderRole = "PRO"; var c1 = (from c in context.Professionals where c.ProID == rd.BidderID select c).FirstOrDefault(); if (c1 != null) { BidderLCID = c1.LCID; BidderUsername = c1.UserName; var pg = (from c in context.ProfessionalGenerals where c.ProID == rd.BidderID select c).FirstOrDefault(); if (pg != null) { BidderEmailAddress = pg.EmailAddress; } } } if (rd.PosterRole == "CUS") { PosterRole = "CUS"; var c1 = (from c in context.Customers where c.CustomerID == PosterID select c).FirstOrDefault(); if (c1 != null) { PosterLCID = c1.LCID; PosterUsername = c1.UserName; var cg = (from c in context.CustomerGenerals where c.CustomerID == rd.PosterID select c).FirstOrDefault(); if (cg != null) { PosterEmailAddress = cg.EmailAddress; } } } if (rd.PosterRole == "PRO") { PosterRole = "PRO"; var c1 = (from c in context.Professionals where c.ProID == PosterID select c).FirstOrDefault(); if (c1 != null) { PosterLCID = c1.LCID; PosterUsername = c1.UserName; var pg = (from c in context.ProfessionalGenerals where c.ProID == rd.BidderID select c).FirstOrDefault(); if (pg != null) { BidderEmailAddress = pg.EmailAddress; } } } var p1 = (from c in context.ProjectRequirements where c.ProjectID == ProjectID select c).FirstOrDefault(); if (p1 != null) ProjectLCID = p1.LCID; } }
public void BidderDelay(int status, SidejobEntities context, SidejobModel.ResponseDelay t1) { if (status == 3) { var reminderLevel = t1.ReminderLevel; if (reminderLevel == 0) { // Email Poster. Email Bidder // Warn Bidder with reminder 1 // Update Time Delay to Reminder level 1 EmailPoster(t1, Message.Notification); EmailBidder(t1, Message.Warning); t1.ReminderLevel = 1; } if (reminderLevel == 1) { // Email Poster. Email Bidder // Warn Bidder with reminder 2 // Update Time Delay to Reminder level 2 EmailPoster(t1, Message.Notification); EmailBidder(t1, Message.Warning); t1.ReminderLevel = 2; } if (reminderLevel == 2) { // Email Poster. Email Bidder // Warn Bidder with reminder 3 //Update Time Delay to Reminder level 3 EmailPoster(t1, Message.Notification); EmailBidder(t1, Message.Warning); t1.ReminderLevel = 3; } if (reminderLevel == 3) { // Add The Bidder to blocked poster BlockBidder(context); // Email Bidder & Email Poster //Throught Button in CustomerRefund // EmailPoster(t1, Message.Refund); EmailBidder(t1, Message.Blocked); // Refund Poster RefundPoster(); //If Exist Next Bidder var bids = (from c in context.Bids where c.ProjectID == ProjectID && c.BidderID != BidderID orderby c.AmountOffered select c).FirstOrDefault(); if (bids != null) { //var nextbidder = bids; // Email Poster EmailPoster(t1, Message.NewOption); } t1.ReminderLevel = 4; } } }
public void EmailPoster(SidejobModel.ResponseDelay t1, Message messageType, string pdtid = "") { //Notification: //?l=en-US&prid=5&usn=jack&bidder=smith&rem=1 //Reminder: //?l=en-US&usn=jack&rem=1 //NewOption:(Inside and Outside Website) //?l=en-US&prid=5&rol=CUS&cid=28 //New Opportunity:(Inside and Outside Website) //l=en-US&prid=5&pid=25 //Refund: //l=en-US&pdtid=1&prid=5&pid=25 //Blocked //l=fr&prid=5&cid=28 switch (messageType) { case Message.Notification: { if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Customer/CustomerNotification.aspx", Message.Notification, "CUS"); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Professional/ProfessionalNotification.aspx", Message.Notification, "PRO"); } } break; case Message.Warning: { // Warn Bidder with reminder 1 if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Customer/CustomerReminder.aspx", Message.Warning); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Professional/ProfessionalReminder.aspx", Message.Warning); } } break; case Message.NewOption: { if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Customer/CustomerNewOption.aspx", Message.NewOption, "CUS", PosterID); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Professional/ProfessionalNewOption.aspx", Message.NewOption, "PRO", PosterID); } } break; case Message.NewOpportunity: { if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Customer/CustomerNewOpportunity .aspx", Message.NewOpportunity, "CUS", PosterID); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Professional/ProfessionalNewOpportunity.aspx", Message.NewOpportunity, "PRO", PosterID); } } break; //This will be under Manage Site case Message.Refund: { if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://www.my-side-job.com/Manage/MySideJob/Management/Refund/EmailTemplates/Customer/CustomerRefund.aspx", Message.Refund, "CUS", PosterID, PDTID); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://www.my-side-job.com/Manage/MySideJob/Management/Refund/EmailTemplates/Professional/ProfessionalRefund.aspx", Message.Refund, "PRO", PosterID, PDTID); } } break; case Message.Blocked: { if (PosterRole == "CUS") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Customer/CustomerBlocked.aspx", Message.Blocked, "CUS", PosterID); } if (PosterRole == "PRO") { SendEmail(PosterEmailAddress, PosterUsername, PosterLCID, t1.ReminderLevel, "http://my-side-job.com/Schedule/MySideJob/EmailTemplates/Professional/ProfessionalBlocked.aspx", Message.Blocked, "PRO", PosterID); } } break; } }
public void EmailBidder(SidejobModel.ResponseDelay t1, Message messageType) { //Notification: //?l=en-US&prid=5&usn=jack&bidder=smith&rem=1 //Reminder: //?l=en-US&usn=jack&rem=1 //NewOption:(Inside and Outside Website) //?l=en-US&prid=5&rol=CUS&cid=28 //New Opportunity:(Inside and Outside Website) //l=en-US&prid=5&pid=25 //Refund: //l=en-US&pdtid=1&prid=5&pid=25 //Blocked //l=fr&prid=5&cid=28 switch (messageType) { case Message.Notification: { if (BidderRole == "CUS") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/CustomerNotification.aspx"), Message.Notification); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/ProfessionalNotification.aspx"), Message.Notification); } } break; case Message.Warning: { // Warn Bidder with reminder 1 if (BidderRole == "CUS") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/CustomerReminder.aspx"), Message.Warning); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/ProfessionalReminder.aspx"), Message.Warning); } } break; case Message.NewOption: { if (BidderRole == "CUS") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/CustomerNewOption.aspx"), Message.NewOption, "CUS", BidderID); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/ProfessionalNewOption.aspx"), Message.NewOption, "PRO", BidderID); } } break; case Message.NewOpportunity: { if (BidderRole == "CUS") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/CustomerNewOpportunity .aspx"), Message.NewOpportunity, id: BidderID); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/ProfessionalNewOpportunity .aspx"), Message.NewOpportunity, id: BidderID); } } break; //This will be under Manage Site case Message.Refund: { if (BidderRole == "CUS") { //Send Email To admin to Refund. //Later will be done through API SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/Customer/CustomerRefund.aspx"), Message.Refund, id: BidderID, pdtid: PDTID); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/Professional/ProfessionalRefund.aspx"), Message.Refund, id: BidderID, pdtid: PDTID); } } break; case Message.Blocked: { if (BidderRole == "CUS") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/Customer/CustomerBlocked.aspx"), Message.Blocked, id: BidderID); } if (BidderRole == "PRO") { SendEmail(BidderEmailAddress, BidderUsername, BidderLCID, t1.ReminderLevel, Server.MapPath("~/EmailTemplates/Professional/ProfessionalBlocked.aspx"), Message.Blocked, id: BidderID); } } break; } }