public static void EmailPassword(string userEmailRecover) // Method takes email of the user to recover password, and send him/her a email with the password { SetHostValuesFromXml(); foreach (XElement xe in (XDocument.Load(XmlParser.xmlUsers).XPathSelectElements($"//RegisteredUser"))) { if (xe.Element("Email").Value.Equals(userEmailRecover)) { using (StreamReader reader = File.OpenText(XmlParser.recoverTempl)) { try { VipCustomer recoUser = new VipCustomer(); recoUser.FirstName = xe.Element("FirstName").Value; recoUser.Email = xe.Element("Email").Value; recoUser.PassWord = xe.Element("PassWord").Value; message.From = new MailAddress("*****@*****.**"); message.To.Add(new MailAddress($"{recoUser.Email}")); message.Subject = $"Password recovery for {recoUser.FirstName}"; message.IsBodyHtml = true; //to make message body as html string templateHtml = reader.ReadToEnd(); //Makes used of the NutGet packaged called Nustage who takes the HTML template in Resources and bind the information accordantly in the {{TAGS}} message.Body = Render.StringToString(templateHtml, recoUser); LoadClientAndSendEmail(); } catch (Exception e) { Console.WriteLine(e.Message); } } } } }
public void VipLoan_Create_Succeeds() { var loan = new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 6000, LoanStart = DateTime.Now, LoanEnd = DateTime.Now.AddYears(2) }; var customer = new VipCustomer { FirstName = "Arnas", LastName = "Danaitis", MonthlySalary = 2000, PersonalNumber = "12345678101" }; var customerLoans = new List <Loan> { new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 30000, LoanStart = DateTime.Now.AddYears(-1), LoanEnd = DateTime.Now.AddYears(1) } }; Assert.True(_loanDomainService.CanCreateLoan(loan, customer, customerLoans)); }
public static bool EmailPassword(string userEmailRecover) { bool passSent = false; foreach (XElement xe in (XDocument.Load(XmlParser.xmlUsers).XPathSelectElements($"//RegisteredUser"))) { if (xe.Element("Email").Value.Equals(userEmailRecover)) { using (StreamReader reader = File.OpenText(XmlParser.recoverTempl)) // Path to your { try { VipCustomer recoUser = new VipCustomer(); recoUser.FirstName = xe.Element("FirstName").Value; recoUser.Email = xe.Element("Email").Value; recoUser.PassWord = xe.Element("PassWord").Value; message.From = new MailAddress("*****@*****.**"); message.To.Add(new MailAddress($"{recoUser.Email}")); message.Subject = $"Password recovery for {recoUser.FirstName}"; message.IsBodyHtml = true; //to make message body as html string templateHtml = reader.ReadToEnd(); message.Body = Render.StringToString(templateHtml, recoUser); passSent = true; return(passSent); } catch (Exception) { } } } } return(passSent); }
public void VipCustomer_Create_Fails() { var customer = new VipCustomer { FirstName = "Deividas", LastName = "Brazenas", MonthlySalary = 1000, PersonalNumber = "12345678901" }; var existingCustomers = new List <Customer> { new StandardCustomer { FirstName = "Tomas", LastName = "Drasutis", MonthlySalary = 1100, PersonalNumber = "12345678101" }, new VipCustomer { FirstName = "Arnas", LastName = "Danaitis", MonthlySalary = 1000, PersonalNumber = "12345678901" } }; Assert.Throws <BusinessException>(() => _customerDomainService.CanCreateCustomer(customer, existingCustomers)); }
public void Is_Should_Return_True_On_Objects_Derived_From_Specific_Types() { var vipCustomer = new VipCustomer(); var result = vipCustomer.Is <Customer>(); result.Should().BeTrue(); }
public void A_class_should_map_its_parents_properties_and_get_the_new_value( Customer myClass, DateTime time) { VipCustomer ret = myClass.As <VipCustomer>() .Eql(p => p.Since, time); Assert.Equal(myClass.Id, ret.Id); Assert.Equal(myClass.Name, ret.Name); Assert.Equal(time, ret.Since); }
public IActionResult GetFromVipCustomer(int key) { VipCustomer vipCustomer = _customers.OfType <VipCustomer>().FirstOrDefault(d => d.Id == key); if (vipCustomer == null) { return(NotFound($"Cannot found the VipCustomer with id '{key}'")); } return(Ok(vipCustomer)); }
public void AddVipCustomer(VipCustomer customer) { CustomValidator.ValidateObject(customer); var exists = Exists(customer.Id); if (!exists) { var enState = _context.VipCustomers.Add(new VipCustomerDbModel(customer.Id, customer.Name, customer.Balance, customer.CashBack, customer.CashBackPercent, customer.Points)); enState.State = EntityState.Added; _context.SaveChanges(); } }
public void VipLoan_Create_TooManyLoans_Fails() { var loan = new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 10000, LoanStart = DateTime.Now, LoanEnd = DateTime.Now.AddYears(1) }; var customer = new VipCustomer { FirstName = "Arnas", LastName = "Danaitis", MonthlySalary = 1000, PersonalNumber = "12345678101" }; var customerLoans = new List <Loan> { new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 30000, LoanStart = DateTime.Now.AddYears(-1), LoanEnd = DateTime.Now.AddYears(1) }, new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 30000, LoanStart = DateTime.Now.AddYears(-1), LoanEnd = DateTime.Now.AddYears(1) }, new VipLoan { CustomerId = 1, InterestRate = 0.02, LoanAmount = 30000, LoanStart = DateTime.Now.AddYears(-1), LoanEnd = DateTime.Now.AddYears(1) } }; Assert.Throws <BusinessException>(() => _loanDomainService.CanCreateLoan(loan, customer, customerLoans)); }
public void TestMethod() { //普通客户 Customer normalCustomer = new NormalCustomer(); normalCustomer.Money = 100m; normalCustomer.SetChargeBehavior(new NormalChargeBehavior()); normalCustomer.CustomerPay(normalCustomer.Money); //Vip客户 Customer vipCustomer = new VipCustomer(); normalCustomer.Money = 100m; vipCustomer.SetChargeBehavior(new VipChargeBehavior()); vipCustomer.CustomerPay(normalCustomer.Money); }
public static void XmlParserVipCustomer(VipCustomer vip)//Receives a VipCustomer instance and writes to its respective XML file { XDocument doc = XDocument.Load(xmlUsers); XElement school = doc.Element("Users"); school.Add(new XElement("RegisteredUser", new XElement("FirstName", vip.FirstName), new XElement("LastName", vip.LastName), new XElement("Type", vip.userType), new XElement("UserName", vip.UserName), new XElement("PassWord", vip.PassWord), new XElement("Email", vip.Email), new XElement("Address", vip.Address), new XElement("PhoneNumber", vip.PhoneNumber))); doc.Save(xmlUsers); }
public static void XmlParserVipCustomer(VipCustomer vip) { XDocument doc = XDocument.Load(xmlVipUsers); XElement school = doc.Element("VIPCustomers"); school.Add(new XElement("VIPCustomer", new XElement("FirstName", vip.FirstName), new XElement("LastName", vip.LastName), new XElement("UserName", vip.UserName), new XElement("PassWord", vip.PassWord), new XElement("Email", vip.Email), new XElement("Adress", vip.adress), new XElement("PhoneNumber", vip.PhoneNumber), new XElement("CreditCard", vip.CreditCard))); doc.Save(xmlVipUsers); }
private void SignUpButton_Click(object sender, EventArgs e) { if (AviableUserNameName1.Visible && textBox1.Text != "" && textBox2.Text != "" && textBox3.Text != "" && textBox4.Text != "" && textBox5.Text != "" && textBox6.Text != "" && RegisterEmail1ComboBox.Text != "" && RegisterEmail1TextBox.Text != "" && RegisterPassWord1TextBox.Text != "" && RegisterPhone1ComboBox.Text != "" && RegisterPhone1TextBox.Text != "" && RegisterStreet1TextBox.Text != "") { VipCustomer vip = new VipCustomer(); vip.FirstName = textBox1.Text; vip.LastName = textBox2.Text; vip.UserName = RegisterUserName1TextBox.Text; vip.PassWord = RegisterPassWord1TextBox.Text; vip.Email = RegisterEmail1TextBox.Text + "@" + RegisterEmail1ComboBox.Text; vip.adress = RegisterStreet1TextBox.Text; vip.PhoneNumber = RegisterPhone1ComboBox.Text + RegisterPhone1TextBox.Text; vip.CreditCard = textBox3.Text + textBox4.Text + textBox5.Text + textBox6.Text; XmlParser.XmlParserVipCustomer(vip); MessageBox.Show("Succesfully Registered", "WOOHOO"); this.Close(); } }
public bool TryUpdateCustomerStatus(Guid customerId, int daysInApplication) { CustomValidator.ValidateId(customerId); if (daysInApplication < 0) { throw new ArgumentException(); } var customer = _customerRepository.GetOne(customerId); if (customer != null) { double sum = 0; var purchaseList = _purchaseRepository.GetCustomerPurchases(customer.Id); if (purchaseList.Count != 0) { var purchasedProducts = (from purchase in purchaseList where _productRepository.Exists(purchase.ProductId) select _productRepository.GetOne(purchase.ProductId)) .ToList(); sum = purchasedProducts.Sum(pr => pr.PriceInUAH); } var checkCashBackPercent = _propertyGetter.GetProperty <int>(EntityNames.Customer, nameof(VipCustomer.CashBackPercent), EntityNames.CustomerId, customer.Id); var checkDiscountPercent = _propertyGetter.GetProperty <int>(EntityNames.Customer, nameof(VipCustomer.DiscountPercent), EntityNames.CustomerId, customer.Id); if (daysInApplication > 60 && checkCashBackPercent == 0) { _customerRepository.DeleteOne(customer.Id); var reliable = new ReliableCustomer(customer.Id, customer.Name, customer.Balance, 0, 5); _customerRepository.AddReliableCustomer(reliable); } if (daysInApplication > 60 && sum >= 200_000 && checkDiscountPercent == 0 && checkCashBackPercent != 0) { var currentReliableCustomer = (ReliableCustomer)customer; _customerRepository.DeleteOne(currentReliableCustomer.Id); var vip = new VipCustomer ( currentReliableCustomer.Id, currentReliableCustomer.Name, currentReliableCustomer.Balance, currentReliableCustomer.CashBack, 10, 0 ); _customerRepository.AddReliableCustomer(vip); } if (daysInApplication > 60 && sum >= 200_000 && checkDiscountPercent == 0 && checkCashBackPercent == 0) { _customerRepository.DeleteOne(customer.Id); var vip = new VipCustomer(customer.Id, customer.Name, customer.Balance, 0, 10, 0); _customerRepository.AddVipCustomer(vip); } return(true); } return(false); }
private void SignUpButton_Click(object sender, EventArgs e)// על ההתחלה מגדיר את כל הלייבלים של הטעות להיות ניראים { UnSuccesEmailCheckLabel.Visible = true; UnSuccesFirstNameCheckLabel.Visible = true; UnSuccesLastNameCheckLabel.Visible = true; UnSuccesPassWordCheckLabel.Visible = true; UnSuccesPhoneCheckLabel.Visible = true; UnSuccesStreetCheckLabel.Visible = true; UnSuccesUserNameCheckLabel.Visible = true; UnSuccesVerifyPassWordCheckLabel.Visible = true; if (AviableUserNameName1.Visible == true)//אם רואים את לייבל היוזר אפשרי אז ידלק לייבל ההצלחה { SuccesUserNameCheckLabel.Visible = true; UnSuccesUserNameCheckLabel.Visible = false; } if (RegisterPassWord1TextBox.Text.Length <= 14 && RegisterPassWord1TextBox.Text.Length >= 4)//אם אורך הטקסט נכון אז הלייבל של הטעות יוסתר והלייבל של ההצלחיה יודלק { SuccesPassWordCheckLabel.Visible = true; UnSuccesPassWordCheckLabel.Visible = false; } if (VerfyPassWordTextBox.Text == RegisterPassWord1TextBox.Text)// אם הטקסט של תיבת הסיסמה ותיבת האימות סיסמה שוות אז תידלק ליילב ההצלחה { SuccesVerifyPassWordCheckLabel.Visible = true; UnSuccesVerifyPassWordCheckLabel.Visible = false; } if (RegisterEmail1TextBox.Text.Length >= 4 && RegisterEmail1TextBox.Text.Length <= 14 && RegisterEmail1ComboBox.Text != "")//אם טקסט של האימייל באורך מתאים ונבחר משהו מהקובו בוקס אז תידלק לייבל ההצלחה { SuccesEmailCheckLabel.Visible = true; UnSuccesEmailCheckLabel.Visible = false; } if (PhoneNumberReg.IsMatch(RegisterPhone1TextBox.Text) && RegisterPhone1ComboBox.Text != "")// אם הטקס של הפלאפון מתאים למבנה של השדה המוגדר בחלון זה מתאים וגם נבחר משהו מהקומבו בוקס תידלק לייבל ההצלחה { SuccesPhoneCheckLabel.Visible = true; UnSuccesPhoneCheckLabel.Visible = false; } if (RegisterStreet1TextBox.Text != "")// אם הטקסט לא ריק תידלק לייבל ההצלחה { SuccesStreetCheckLabel.Visible = true; UnSuccesStreetCheckLabel.Visible = false; } if (textBox1.Text != "")// אם הטקסט לא ריק תידלק לייבל ההצלחה { SuccesFirstNameCheckLabel.Visible = true; UnSuccesFirstNameCheckLabel.Visible = false; } if (textBox2.Text != "")// אם הטקסט לא ריק תידלק לייבל ההצלחה { SuccesLastNameCheckLabel.Visible = true; UnSuccesLastNameCheckLabel.Visible = false; } if (SuccesEmailCheckLabel.Visible == true && SuccesFirstNameCheckLabel.Visible == true && SuccesLastNameCheckLabel.Visible == true && SuccesPassWordCheckLabel.Visible == true && SuccesPhoneCheckLabel.Visible == true && SuccesStreetCheckLabel.Visible == true && SuccesUserNameCheckLabel.Visible == true && SuccesVerifyPassWordCheckLabel.Visible == true) //אם כל הלייבלים של ההצלחה ניראות , אז יתווסף יוזר חדש מסוג וי איי פי לתוך האסאמאל , החלון יסגר ויפתח חלון חדש של לוגין סקרין { VipCustomer vip = new VipCustomer(); //מופע היקבל את כל הערכים הנדרשים על מנת ליצור משתמש vip.FirstName = textBox1.Text; vip.LastName = textBox2.Text; vip.UserName = RegisterUserName1TextBox.Text; vip.PassWord = RegisterPassWord1TextBox.Text; vip.Email = RegisterEmail1TextBox.Text + "@" + RegisterEmail1ComboBox.Text; vip.Address = RegisterStreet1TextBox.Text; vip.PhoneNumber = RegisterPhone1ComboBox.Text + RegisterPhone1TextBox.Text; vip.userType = "Vipuser"; XmlParser.XmlParserVipCustomer(vip);//שיטה היוצרת משתמש MessageBox.Show("Successfully Registered", "WOOHOO"); this.Close(); } }
public WriteXmlFile(VipCustomer vipCustomer) { vip = vipCustomer; }
private void SignUpButton_Click(object sender, EventArgs e) { UnSuccesEmailCheckLabel.Visible = true; UnSuccesFirstNameCheckLabel.Visible = true; UnSuccesLastNameCheckLabel.Visible = true; UnSuccesPassWordCheckLabel.Visible = true; UnSuccesPhoneCheckLabel.Visible = true; UnSuccesStreetCheckLabel.Visible = true; UnSuccesUserNameCheckLabel.Visible = true; UnSuccesVerifyPassWordCheckLabel.Visible = true; if (AviableUserNameName1.Visible == true) { SuccesUserNameCheckLabel.Visible = true; UnSuccesUserNameCheckLabel.Visible = false; } if (RegisterPassWord1TextBox.Text.Length <= 14 && RegisterPassWord1TextBox.Text.Length >= 4) { SuccesPassWordCheckLabel.Visible = true; UnSuccesPassWordCheckLabel.Visible = false; } if (VerfyPassWordTextBox.Text == RegisterPassWord1TextBox.Text) { SuccesVerifyPassWordCheckLabel.Visible = true; UnSuccesVerifyPassWordCheckLabel.Visible = false; } if (RegisterEmail1TextBox.Text.Length >= 4 && RegisterEmail1TextBox.Text.Length <= 14 && RegisterEmail1ComboBox.Text != "") { SuccesEmailCheckLabel.Visible = true; UnSuccesEmailCheckLabel.Visible = false; } if (PhoneNumberReg.IsMatch(RegisterPhone1TextBox.Text) && RegisterPhone1ComboBox.Text != "") { SuccesPhoneCheckLabel.Visible = true; UnSuccesPhoneCheckLabel.Visible = false; } if (RegisterStreet1TextBox.Text != "") { SuccesStreetCheckLabel.Visible = true; UnSuccesStreetCheckLabel.Visible = false; } if (textBox1.Text != "") { SuccesFirstNameCheckLabel.Visible = true; UnSuccesFirstNameCheckLabel.Visible = false; } if (textBox2.Text != "") { SuccesLastNameCheckLabel.Visible = true; UnSuccesLastNameCheckLabel.Visible = false; } if (SuccesEmailCheckLabel.Visible == true && SuccesFirstNameCheckLabel.Visible == true && SuccesLastNameCheckLabel.Visible == true && SuccesPassWordCheckLabel.Visible == true && SuccesPhoneCheckLabel.Visible == true && SuccesStreetCheckLabel.Visible == true && SuccesUserNameCheckLabel.Visible == true && SuccesVerifyPassWordCheckLabel.Visible == true) { VipCustomer vip = new VipCustomer(); vip.FirstName = textBox1.Text; vip.LastName = textBox2.Text; vip.UserName = RegisterUserName1TextBox.Text; vip.PassWord = RegisterPassWord1TextBox.Text; vip.Email = RegisterEmail1TextBox.Text + "@" + RegisterEmail1ComboBox.Text; vip.Address = RegisterStreet1TextBox.Text; vip.PhoneNumber = RegisterPhone1ComboBox.Text + RegisterPhone1TextBox.Text; vip.userType = "Vipuser"; XmlParser.XmlParserVipCustomer(vip); MessageBox.Show("Successfully Registered", "WOOHOO"); this.Close(); } }
protected override void PopulateData() { using (var session = Domain.OpenSession()) using (var t = session.OpenTransaction()) { // Branches var southBranch = new Branch(session) { Name = "South" }; var northBranch = new Branch(session) { Name = "North" }; // Customers _ = new Customer(session) { IsAutomobileIndustry = true, Branch = southBranch }; _ = new VipCustomer(session) { IsAircraftIndustry = true, Reason = "High sales", Branch = southBranch }; _ = new VipCustomer(session) { Reason = "Relative", Branch = northBranch }; // Roles var salesPersonRole = new SalesPersonRole(session); var salesManagerRole = new SalesManagerRole(session); var automobileManagerRole = new AutomobileManagerRole(session); var aircraftManagerRole = new AircraftManagerRole(session); var southBranchOfficeManager = new BranchOfficeManagerRole(session, southBranch); var northBranchOfficeManager = new BranchOfficeManagerRole(session, northBranch); // Employees var u1 = new Employee(session); _ = u1.Roles.Add(salesPersonRole); u1.Name = "SalesPerson"; var u2 = new Employee(session); _ = u2.Roles.Add(salesManagerRole); u2.Name = "SalesManager"; var u3 = new Employee(session); _ = u3.Roles.Add(automobileManagerRole); u3.Name = "AutomobileManager"; var u4 = new Employee(session); _ = u4.Roles.Add(aircraftManagerRole); u4.Name = "AircraftManager"; var u5 = new Employee(session); _ = u5.Roles.Add(southBranchOfficeManager); u5.Name = "SouthBranchOfficeManager"; var u6 = new Employee(session); _ = u6.Roles.Add(northBranchOfficeManager); u6.Name = "NorthBranchOfficeManager"; var u7 = new Employee(session); _ = u7.Roles.Add(southBranchOfficeManager); _ = u7.Roles.Add(northBranchOfficeManager); u7.Name = "AllBranchOfficeManager"; t.Complete(); } }