public static void InformAboutExpiringCreditCards() { DateTime nextMonth = DateTime.Now.AddMonths(1); IEnumerable<CreditCardAlias> aliases2expire = null; string mail_template = null; string message = null; Person person = null; InsuranceDetails details = null; mail_template = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + @"\MailTemplate\cc_expire.html"); using (AviertDataContext context = new AviertDataContext()) { aliases2expire = context.CreditCardAlias.Where(a => a.ExpirationMonth == nextMonth.Month && a.ExpirationYear == nextMonth.Year); } foreach (CreditCardAlias alias in aliases2expire) { using (AviertDataContext context = new AviertDataContext()) { details = context.InsuranceDetails.Single(d => d.DetailsId == alias.InsuranceId); person = context.Person.Single(p => p.PersonId == details.PersonId); } message = mail_template.Replace("[name]", string.Format("{0} {1}", person.GivenName, person.LastName)); Tools.SendMail(person.EMail, "Ablauf Ihrer Kreditkarte", message, true); } }
public static string GetNlsObject(string p_key, string p_language) { NlsObject nlsObj = null; string result = "[MISSING]"; if (string.IsNullOrEmpty(p_key)) { throw new Exception("Missing NLS key"); } if (string.IsNullOrEmpty(p_language)) { p_language = "de"; } p_key = p_key.ToUpper(); p_language = p_language.ToUpper(); using (AviertDataContext context = new AviertDataContext()) { nlsObj = context.NlsObject.SingleOrDefault(nls => nls.NlsKey.ToUpper().Equals(p_key) && nls.Language.ToUpper().Equals(p_language)); if (nlsObj != null) { result = nlsObj.Text; } } return (result); }
public static void BeginInsurance(Person p_person, DateTime p_start, DateTime p_end, int p_franchise, int p_paymentMethod) { InsuranceDetails details = null; double erstePraemie = 0.00; if (p_end < p_start) { throw new Exception("Enddatum liegt vor dem Startdatum"); } using (AviertDataContext context = new AviertDataContext()) { // Start- und Enddatum setzen details = context.InsuranceDetails.Single(d => d.PersonId == p_person.PersonId); details.StartDate = p_start; details.EndDate = p_end; details.Franchise = p_franchise; details.Status = (int)InsuranceStatus.Pending; // Aenderungen uebernehmen context.SubmitChanges(); } erstePraemie = PraemienHelper.GetErstePraemie((int)details.Franchise, (DateTime)details.StartDate, p_paymentMethod); DatatransHelper.CreateTransaction(details, erstePraemie); }
public static void CreatePerson(ref Person p_person) { using (AviertDataContext context = new AviertDataContext()) { context.Person.InsertOnSubmit(p_person); context.SubmitChanges(); } }
public static void EndInsurance(Person p_person, DateTime p_endDate) { InsuranceDetails details = null; using (AviertDataContext context = new AviertDataContext()) { // Enddatum setzen details = context.InsuranceDetails.SingleOrDefault(d => d.PersonId == p_person.PersonId); details.EndDate = p_endDate; details.Status = (int)InsuranceStatus.Terminated; // Aenderungen uebernehmen context.SubmitChanges(); } }
public static void InactivateExpiresInsurances() { IEnumerable<InsuranceDetails> expiredInsurances = null; using (AviertDataContext context = new AviertDataContext()) { expiredInsurances = context.InsuranceDetails.Where(d => d.Status == (int)InsuranceStatus.Active && (d.EndDate != null && d.EndDate < DateTime.Now)); foreach (InsuranceDetails details in expiredInsurances) { details.Status = (int)InsuranceStatus.Terminated; } context.SubmitChanges(); } }
public static InsuranceDetails CreateInsuranceDetails(Person p_person) { InsuranceDetails details = null; details = new InsuranceDetails() { PersonId = p_person.PersonId, InsertDate = DateTime.Now, Status = (int)InsuranceStatus.Created }; using (AviertDataContext context = new AviertDataContext()) { context.InsuranceDetails.InsertOnSubmit(details); context.SubmitChanges(); } return (details); }
public static bool CheckIfUserExists(string p_username) { bool exists = false; User user = null; if (string.IsNullOrEmpty(p_username)) return exists; p_username = p_username.Trim(); using (AviertDataContext context = new AviertDataContext()) { user = context.User.SingleOrDefault(u => u.Username.Equals(p_username)); if (user != null) { exists = true; } } return (exists); }
public static void BatchExecuteTransactions(IEnumerable<DatatransTransaction> p_transactions) { string xml_request = null; foreach (DatatransTransaction transaction in p_transactions) { transaction.Status = (short)TransactionStatus.Pending; } using (AviertDataContext context = new AviertDataContext()) { context.DatatransTransaction.InsertAllOnSubmit(p_transactions); context.SubmitChanges(); } foreach (DatatransTransaction transaction in p_transactions) { xml_request = GetXmlTransaction(transaction); DoWebRequest(xml_request); } }
public static bool CheckPassword(string p_username, string p_password) { bool passwordCorrect = false; User user = null; string encryptedPassword = null; using (AviertDataContext context = new AviertDataContext()) { user = context.User.SingleOrDefault(u => u.Username.Equals(p_username)); if (user != null) { encryptedPassword = EncryptPassword(p_password); if (user.Password.Equals(encryptedPassword)) { passwordCorrect = true; } } } return (passwordCorrect); }
public static void ConfirmTransaction(string p_transaction, string p_uppTransactionId, string p_pmethod, string p_authorizationCode, string p_responseMessage, string p_status) { DatatransTransaction transaction = null; long id = 0; TransactionStatus status = TransactionStatus.Unknown; if ("success".Equals(p_status)) { status = TransactionStatus.Authorized; } else if ("error".Equals(p_status)) { status = TransactionStatus.Rejected; } else if ("cancel".Equals(p_status)) { status = TransactionStatus.Cancelled; } p_transaction = p_transaction.TrimStart('0'); id = long.Parse(p_transaction); using (AviertDataContext context = new AviertDataContext()) { transaction = context.DatatransTransaction.Single(t => t.TransactionId == id); transaction.DT_uppTransactionId = p_uppTransactionId; transaction.DT_pmethod = p_pmethod; transaction.DT_authorizationCode = p_authorizationCode; transaction.DT_responseMessage = p_responseMessage; transaction.Status = (short)status; context.SubmitChanges(); } }
public static void CreateUser(ref User p_user) { if (string.IsNullOrEmpty(p_user.Username) || string.IsNullOrEmpty(p_user.Password)) { throw new Exception("Fehler beim Erstellen des Benutzers."); } if (CheckIfUserExists(p_user.Username)) { throw new Exception("Der Benutzer existiert bereits."); } p_user.Password = EncryptPassword(p_user.Password); p_user.Status = (int)UserStatus.Created; p_user.CreationDate = DateTime.Now; p_user.PasswordDate = DateTime.Now; using (AviertDataContext context = new AviertDataContext()) { context.User.InsertOnSubmit(p_user); context.SubmitChanges(); } }
public static void UpdateLastLogin(User p_user) { User user = null; using (AviertDataContext context = new AviertDataContext()) { user = context.User.SingleOrDefault(u => u.UserId == p_user.UserId); user.LastLogin = DateTime.Now; context.SubmitChanges(); } }
public static void SetPassword(User p_user, string p_password) { User user = null; using (AviertDataContext context = new AviertDataContext()) { user = context.User.SingleOrDefault(u => u.UserId == p_user.UserId); user.Password = EncryptPassword(p_password); user.PasswordDate = DateTime.Now; context.SubmitChanges(); } }
public static DatatransTransaction GetFirstTransaction(Person p_person) { DatatransTransaction result = null; InsuranceDetails details = null; details = UserHelper.GetInsuranceDetails(p_person); using (AviertDataContext context = new AviertDataContext()) { result = context.DatatransTransaction.First(t => t.DetailsId == details.DetailsId); } return (result); }
public static User GetUser(string p_username) { User user = null; using (AviertDataContext context = new AviertDataContext()) { user = context.User.SingleOrDefault(u => u.Username.Equals(p_username)); } return (user); }
public static Person GetPerson(User p_user) { Person person = null; using (AviertDataContext context = new AviertDataContext()) { person = context.Person.SingleOrDefault(p => p.UserId == p_user.UserId); } return (person); }
public static InsuranceDetails GetInsuranceDetails(Person p_person) { InsuranceDetails details = null; using (AviertDataContext context = new AviertDataContext()) { details = context.InsuranceDetails.SingleOrDefault(d => d.PersonId == p_person.PersonId); } return (details); }
public static DatatransTransaction CreateTransaction(InsuranceDetails p_details, double p_amount) { DatatransTransaction transaction = null; transaction = new DatatransTransaction() { DetailsId = p_details.DetailsId, Amount = (decimal)p_amount, Status = (int)TransactionStatus.Pending, InsDate = DateTime.Now }; using (AviertDataContext context = new AviertDataContext()) { context.DatatransTransaction.InsertOnSubmit(transaction); context.SubmitChanges(); } return (transaction); }
public static DatatransTransaction GetLastTransaction(Person p_person) { DatatransTransaction result = null; InsuranceDetails details = null; IEnumerable<DatatransTransaction> transactions = null; details = UserHelper.GetInsuranceDetails(p_person); using (AviertDataContext context = new AviertDataContext()) { transactions = context.DatatransTransaction.Where(t => t.DetailsId == details.DetailsId); result = transactions.Last(); } return (result); }
public static string GetXmlTransaction(DatatransTransaction p_transaction) { CreditCardAlias alias = null; string transaction_id = null; double amount = 0.00; transaction_id = p_transaction.TransactionId.ToString(); transaction_id = transaction_id.PadLeft(8, '0'); amount = (double)p_transaction.Amount; if (TestMode) { amount = 1.00; } using (AviertDataContext context = new AviertDataContext()) { alias = context.CreditCardAlias.Single(a => a.InsuranceId == p_transaction.DetailsId); } string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<authorizationService version=\"1\">" + "<body merchantId=\"3000005923\">" + "<transaction refno=\"" + transaction_id + "\">" + "<request>" + "<amount>" + (int)(amount / 100) + "</amount>" + "<currency>CHF</currency>" + "<aliasCC>" + alias.Alias + "</aliasCC>" + "<expm>" + alias.ExpirationMonth + "</expm>" + "<expy>" + alias.ExpirationYear + "</expy>" + "</request>" + "</transaction>" + "</body>" + "</authorizationService>"; return (xml); }
public static void CreateAlias(string p_transactionRef, string p_masked, string p_alias, string p_expMonth, string p_expYear) { DatatransTransaction transaction = null; long id = -1; p_transactionRef = p_transactionRef.TrimStart('0'); id = long.Parse(p_transactionRef); using (AviertDataContext context = new AviertDataContext()) { transaction = context.DatatransTransaction.Single(t => t.TransactionId == id); CreditCardAlias alias = new CreditCardAlias() { Alias = p_alias, MaskedCcNumber = p_masked, ExpirationMonth = int.Parse(p_expMonth), ExpirationYear = int.Parse(p_expYear), InsuranceId = (int)transaction.DetailsId }; context.CreditCardAlias.InsertOnSubmit(alias); context.SubmitChanges(); } }
protected static IEnumerable<InsuranceDetails> GetInsurancesToBillPartially() { IEnumerable<InsuranceDetails> details_list = null; using (AviertDataContext context = new AviertDataContext()) { details_list = context.InsuranceDetails.Where(id => id.Status == (int)InsuranceStatus.Active && id.EndDate != null && id.EndDate.Value.Month == DateTime.Now.Month && id.EndDate.Value.Year == DateTime.Now.Year); } return (details_list); }