private async static void UploadTimeOutCheck(WorkApplicationData data, LitUdrContext context, IConfiguration _configuration) { //provera da li je pisac uplatio clanarinu HttpResponseMessage taskResponseCheck = await client.GetAsync($"{_configuration["url"]}/external-task?processDefinitionId={data.processDefinitionId}&&processInstanceId={data.processInstanceId}"); Task <string> jsonStringResultCheck = taskResponseCheck.Content.ReadAsStringAsync(); List <CamundaTask> tasksCheck = JsonConvert.DeserializeObject <List <CamundaTask> >(jsonStringResultCheck.Result); if (tasksCheck.Count > 0) { ControlFlow.ResumeOnError(() => { EmailService.SendEmail(new UserDto() { Email = data.WriterEmail }, context, "LateUpload"); }); //logujem ga FetchAndLock fetchAndLockFail = new FetchAndLock() { workerId = data.WriterEmail, maxTasks = 10, topics = new List <Topic>() { new Topic() { lockDuration = 10000, topicName = "NotificiranjeONePostovanjuRoka" } } }; var fetchAndLockContentFail = new StringContent(JsonConvert.SerializeObject(fetchAndLockFail), Encoding.UTF8, "application/json"); HttpResponseMessage lockExternalTaskFail = await client.PostAsync($"{_configuration["url"]}/external-task/fetchAndLock", fetchAndLockContentFail); //daj mi moj lokovan da izvucem id HttpResponseMessage externalTaskInfoFail = await client.GetAsync($"{_configuration["url"]}/external-task?workerId={data.WriterEmail}"); Task <string> jsonStringResult_1Fail = externalTaskInfoFail.Content.ReadAsStringAsync(); List <CamundaExternalTask> externalTasksFail = JsonConvert.DeserializeObject <List <CamundaExternalTask> >(jsonStringResult_1Fail.Result); CamundaExternalTask currenTaskFail = externalTasksFail.First(); //prosledimm reziltat CompleteExternalTask completeExternalTaskFail = new CompleteExternalTask() { workerId = data.WriterEmail, variables = null }; var completeExternalTaskContentFail = new StringContent(JsonConvert.SerializeObject(completeExternalTaskFail), Encoding.UTF8, "application/json"); HttpResponseMessage commpleteExternalTaskFail = await client.PostAsync($"{_configuration["url"]}/external-task/{currenTaskFail.id}/complete", completeExternalTaskContentFail); } }
public FilesController(IConfiguration configuration, LitUdrContext context) { _configuration = configuration; _context = context; }
public ReviewController(IConfiguration configuration, LitUdrContext context) { _configuration = configuration; _context = context; }
public static void SendEmail(UserDto dto, LitUdrContext context, string condition) { string fileName = string.Empty; string messageText = string.Empty; try { var message = new MimeMessage(); message.From.Add(new MailboxAddress("Literarno Udruzenje", "*****@*****.**")); message.To.Add(new MailboxAddress("New User", dto.Email.ToLower())); string HashCode = Guid.NewGuid().ToString(); switch (condition) { case "Registration": message.Subject = "ProfileActivation"; if (dto.Writer) { message.Body = new TextPart("plain") { Text = @"Thanks for registering as Writer.Please activate your profile at link: http://localhost:3000/confirmRegistration/" + HashCode }; context.NewUserData.Add(new NewUserData() { Writer = true, Hash = HashCode, processDefinitionId = dto.ProcessDefinitionId, processInstanceId = dto.ProcessInstanceId, NewUserEmmail = dto.Email.ToLower() });; context.SaveChanges(); fileName = $"Literarno Udruzenje_Registration_{dto.Email.ToLower()}"; messageText = message.TextBody; } else if (dto.BetaReader) { message.Body = new TextPart("plain") { Text = @"Thanks for registering as Beta Reader. Please activate your profile at link: http://localhost:3000/confirmRegistration/" + HashCode }; context.NewUserData.Add(new NewUserData() { Writer = false, Hash = HashCode, processDefinitionId = dto.ProcessDefinitionId, processInstanceId = dto.ProcessInstanceId, NewUserEmmail = dto.Email.ToLower() });;; context.SaveChanges(); fileName = $"Literarno Udruzenje_Registration_{dto.Email.ToLower()}"; messageText = message.TextBody; } else { message.Body = new TextPart("plain") { Text = @"Thanks for registering as Reader. Please activate your profile at link: http://localhost:3000/confirmRegistration/" + HashCode }; context.NewUserData.Add(new NewUserData() { Writer = false, Hash = HashCode, processDefinitionId = dto.ProcessDefinitionId, processInstanceId = dto.ProcessInstanceId, NewUserEmmail = dto.Email.ToLower() });;; context.SaveChanges(); fileName = $"Literarno Udruzenje_Registration_{dto.Email.ToLower()}"; messageText = message.TextBody; } break; case "WorkUpload": message.Subject = "Work Upload"; if (dto.Writer) { message.Body = new TextPart("plain") { Text = @"Please upload two or more samples of your work at this link: http://localhost:3000/workUpload/" + dto.FirstName + " so that process can continue." }; fileName = $"Literarno Udruzenje_Work_Upload_{dto.Email.ToLower()}"; messageText = message.TextBody; } break; case "NumberOfUploads": message.Subject = "Process end."; message.Body = new TextPart("plain") { Text = @"As you tried more than three times. Your application has ended. Please try again in future." }; fileName = $"Literarno Udruzenje_Process_End_Number_Of_Uploads_{dto.Email.ToLower()}"; messageText = message.TextBody; break; case "Declined": message.Subject = "Process end."; message.Body = new TextPart("plain") { Text = @"Board members have declined your work. Please try again in future." + "\n" + dto.FirstName }; fileName = $"Literarno Udruzenje_Declined_{dto.Email.ToLower()}"; messageText = message.TextBody; break; case "Approved": message.Subject = "Process."; message.Body = new TextPart("plain") { Text = @"Board members have Approved your work!! Please pay you monthly subscription at link:http://localhost:3000/confirmSubscription/" + dto.Password + "\n" + dto.FirstName }; fileName = $"Literarno Udruzenje_Approved_{dto.Email.ToLower()}"; messageText = message.TextBody; break; case "NeedMoreWork": message.Subject = "Process."; message.Body = new TextPart("plain") { Text = @"Board members are not sure about your work Please upload more samples at link: http://localhost:3000/workUpload/" + dto.Password + "\n" + dto.FirstName }; fileName = $"Literarno Udruzenje_NeedMoreWork_{dto.Email.ToLower()}"; messageText = message.TextBody; break; case "LatePay": message.Subject = "Process end."; message.Body = new TextPart("plain") { Text = @"You did not pay your subscription in time. Please try again." }; fileName = $"Literarno Udruzenje_Process_End_Late_Pay_{dto.Email.ToLower()}"; messageText = message.TextBody; break; case "LateUpload": message.Subject = "Process end."; message.Body = new TextPart("plain") { Text = @"You did not upload more samples of work in time." }; fileName = $"Literarno Udruzenje_Process_End_{dto.Email.ToLower()}"; messageText = message.TextBody; break; } using (var client = new SmtpClient()) { client.Connect("smtp.gmail.com", 587); // Note: since we don't have an OAuth2 token, disable // the XOAUTH2 authentication mechanism. client.AuthenticationMechanisms.Remove("XOAUTH2"); // Note: only needed if the SMTP server requires authentication client.Authenticate("*****@*****.**", "uH987&*(1995google"); client.Send(message); client.Disconnect(true); } } finally { FileService.CreateFile(fileName, messageText); } }