public Application CreateApplication(IReadOnlyList <string> applicationParameters, string customerID, decimal amount, int period) { var applicationToCreate = new Application(); applicationToCreate.CustomerID = customerID; applicationToCreate.CustomerFirstName = applicationParameters[0]; applicationToCreate.CustomerSecondName = applicationParameters[1]; applicationToCreate.CustomerFullName = $"{applicationToCreate.CustomerFirstName} {applicationToCreate.CustomerSecondName}"; applicationToCreate.PhoneNumber = applicationParameters[2]; applicationToCreate.RegisteredOn = DateTime.Now; applicationToCreate.LastChangedOn = DateTime.Now; applicationToCreate.ApplicationStatusID = 1; applicationToCreate.LoanAmount = amount; applicationToCreate.LoanPeriodInMonths = period; applicationToCreate.EmailOriginalID = applicationParameters[3]; //applicationToCreate.Seal(); context.Applications.Add(applicationToCreate); //var email = this.context.Emails.FirstOrDefault(e => e.OriginalId == applicationToCreate.EmailOriginalID); //email.IsDeleted = true; context.SaveChanges(); return(applicationToCreate); }
public Email MarkEmailAsNew(int id) { var email = this.context.Emails.FirstOrDefault(e => e.ID == id); var status = this.context.EmailStatuses.FirstOrDefault(s => s.StatusName == "new"); //var statusID = this.context.EmailStatuses.FirstOrDefault(s => s.ID == 2); email.Status = status; email.StatusID = status.ID; context.SaveChanges(); return(email); }
public async Task <IReadOnlyCollection <Email> > SyncEmails(string accessToken) { var newMessagesList = new List <GmailMessageObject>(); var messageList = await this.SendRequestAsync <GmailMessageListObject>(this.gmailUrlOptions.Messages, accessToken); var messages = messageList.Messages; //var userProfile = this.SendRequestAsync<GmailUserProfileObject>(this.gmailUrlOptions.UserProfile, accessToken); var lastAddedMessageMailboxId = (await this.context.Emails.FirstOrDefaultAsync())?.OriginalId; var newEmails = new List <Email>(); var initialStatus = context.EmailStatuses .FirstOrDefault(x => x.StatusName.ToLower() == "not reviewed"); foreach (var message in messageList.Messages) { var messageWithDetails = await this.SendRequestAsync <GmailMessageObject>(this.gmailUrlOptions.Message + message.Id, accessToken); var emailToAdd = new Email { OriginalId = message.Id, StoredOn = DateTime.Now, Status = initialStatus, StatusID = initialStatus.ID, }; newEmails.Add(emailToAdd); await this.ParseDetailsWithoutBody(message, emailToAdd, accessToken); await this.ModifyLabelsAsync(this.gmailUrlOptions.Message + message.Id, accessToken); } context.SaveChanges(); return(newEmails); }