public void ShouldCorrectValueInPositionForSalesmanModel() { var saparator = "ç"; var value = "001ç1234567891234çPedroç50000"; var objType = typeof(SalesmanModel); var splitted = value.Split(saparator); var cpf = objType.GetProperty("CPF").GetValueFromLine(splitted); var name = objType.GetProperty("Name").GetValueFromLine(splitted); var salary = objType.GetProperty("Salary").GetValueFromLine(splitted); var data = new SalesmanModel(); data.CPF = GetValue <string>(cpf); data.Name = GetValue <string>(name); data.Salary = GetValue <decimal>(salary); var dataValidation = new SalesmanModel { CPF = "1234567891234", Name = "Pedro", Salary = 50000 }; data.CPF.Should().Be(dataValidation.CPF); data.Name.Should().Be(dataValidation.Name); data.Salary.Should().Be(dataValidation.Salary); }
private void ProcessSalesCommission(SqlConnection con, SqlTransaction tran, SalesmanModel salesman, double salesAmount, double paidCommissionPercent = 0) { if (paidCommissionPercent == 26) { return; } double personalSalesAmount = _salesman.GetSalesAmount(salesman.CompanyCode, code: salesman.Code); double selfCommissionPercent = _policy.SalesCommissionPercentage(salesman.Designation, salesAmount); double payableAmount = salesAmount * (selfCommissionPercent - paidCommissionPercent) / 100; if (_policy.IsEligible(personalSalesAmount)) { _salary.AddSalesCommission(con, tran, salesman.CompanyCode, salesman.Code, payableAmount); paidCommissionPercent += (selfCommissionPercent - paidCommissionPercent); } if (!string.IsNullOrEmpty(salesman.ReferenceCode)) { var reference = _salesman.Get(salesman.CompanyCode, salesman.ReferenceCode).FirstOrDefault(); if (reference == null) { _salary.AddSalesCommission(con, tran, null, salesman.CompanyCode, salesAmount * (26 - paidCommissionPercent) / 100); } else { ProcessSalesCommission(con, tran, reference, salesAmount, paidCommissionPercent); } } }
public AjaxResponseModel Update(SalesmanModel model, string userId) { try { var saleman = _context.MstSalesmen.FirstOrDefault(x => x.Cd == model.Cd); if (saleman != null) { saleman.Code = model.Code.Trim(); saleman.Name = model.Name.Trim(); saleman.NameKana = model.SalemanNameKana.Trim(); saleman.UpdateDate = DateTime.Now; saleman.UpdateUserId = userId; Update(saleman); return(new AjaxResponseModel(true, null)); } return(new AjaxResponseModel(false, "この担当者が見つかりません。")); } catch (Exception e) { return(new AjaxResponseModel(false, e.Message)); } }
public Salesman(SalesmanModel salesmanModel) { Model = salesmanModel; IsPrimary = salesmanModel.IsPrimary; this.WhenAnyValue(x => x.IsPrimary) .Subscribe(s => Model.IsPrimary = s); }
public override void Init(object initData) { base.Init(initData); if (initData != null) { _salesman = (Salesman)initData; } SalesmanModelInit = new SalesmanModel(_salesman); name = SalesmanModelInit.Name; }
public override void Init(object initData) { base.Init(initData); if (initData != null) { _salesman = (Salesman)initData; } SalesmanModelInit = new SalesmanModel(_salesman); name = AppResources.Report + " " + SalesmanModelInit.Name; }
private void dgSearchEmpInList_SelectionChanged(object sender, SelectionChangedEventArgs e) { DataGridCell cell = GetCell(dgSearchEmpInList.SelectedIndex, 3, dgSearchEmpInList); TextBlock tb = cell.Content as TextBlock; lblEnrollmentDate.Content = tb.Text; if (cbType.Text == "Employee") { lblType.Content = "Employee"; EmployeeModel em = new EmployeeModel(); em.BaseRate = 100; lblBaseRate.Content = em.BaseRate; var enrollmentDate = DateTime.Parse(tb.Text); var countOfYears = DateTime.Now.Year - enrollmentDate.Year; lblCountOfYears.Content = countOfYears; lblSalary.Content = em.CalculateSalary(enrollmentDate, em.BaseRate); } if (cbType.Text == "Manager") { lblType.Content = "Manager"; ManagerModel mm = new ManagerModel(); mm.BaseRate = 100; lblBaseRate.Content = mm.BaseRate; var enrollmentDate = Convert.ToDateTime(tb.Text); var countOfYears = DateTime.Now.Year - enrollmentDate.Year; lblCountOfYears.Content = countOfYears; lblSalary.Content = mm.CalculateSalary(enrollmentDate, mm.BaseRate); } if (cbType.Text == "Salesman") { lblType.Content = "Salesman"; SalesmanModel sm = new SalesmanModel(); sm.BaseRate = 100; lblBaseRate.Content = sm.BaseRate; var enrollmentDate = DateTime.Parse(tb.Text); var countOfYears = DateTime.Now.Year - enrollmentDate.Year; lblCountOfYears.Content = countOfYears; lblSalary.Content = sm.CalculateSalary(enrollmentDate, sm.BaseRate); } }
public IActionResult Login(UserModel user) { try { var loggedUser = _user.Login <UserViewModel>(user.Name, user.Password); if (loggedUser == null || (loggedUser.Name != user.Name && user.Password != user.Password)) { throw new InvalidException("Incorrect username or password!"); } if (loggedUser.UserType == UserType.AlphaMember || loggedUser.UserType == UserType.BetaMember) { loggedUser.EmploymentInfo.Membership = _employee.GetMember(loggedUser.CompanyCode, loggedUser.Code).FirstOrDefault() ?? new MemberModel(); loggedUser.Company = _settings.GetCompany(loggedUser.CompanyCode); loggedUser.PurchaseAmount = _employee.PurchaseAmount(loggedUser.CompanyCode, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.EmploymentInfo.Membership.Sidc); loggedUser.SalesAmount = _employee.SalesAmount(loggedUser.CompanyCode, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.EmploymentInfo.Membership.Sidc); } else if (loggedUser.UserType == UserType.Salesman) { SalesmanModel emp = _employee.GetSalesman(loggedUser.CompanyCode, loggedUser.Code).FirstOrDefault(); loggedUser.EmploymentInfo.Id = emp.Id; loggedUser.EmploymentInfo.Code = emp.Code; loggedUser.EmploymentInfo.Name = emp.Name; loggedUser.EmploymentInfo.IsAlphaMember = emp.IsAlphaMember; loggedUser.EmploymentInfo.IsBetaMember = emp.IsBetaMember; loggedUser.EmploymentInfo.Membership = _employee.GetMemberBySidc(loggedUser.CompanyCode, loggedUser.Code) ?? new MemberModel(); loggedUser.Company = _settings.GetCompany(emp.CompanyCode); loggedUser.PurchaseAmount = _employee.PurchaseAmount(loggedUser.CompanyCode, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.Code); loggedUser.SalesAmount = _employee.SalesAmount(loggedUser.CompanyCode, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.Code); } else { loggedUser.Company = _settings.GetCompany(loggedUser.Code); loggedUser.PurchaseAmount = _employee.PurchaseAmount(loggedUser.Code, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.Code); loggedUser.SalesAmount = _employee.SalesAmount(loggedUser.Code, DateTime.Now.ToString("yyyyMM"), loggedUser.UserType, loggedUser.Code); } return(Ok(new { status = true, result = loggedUser })); } catch (InvalidException err) { return(Ok(new { status = false, result = err.Message })); } catch (Exception err) { return(BadRequest(err.Message)); } }
public bool IsDuplicated(SalesmanModel model) { var isDuplicated = _context.MstSalesmen.AsQueryable(); if (model.Cd == 0) { isDuplicated = isDuplicated.Where(x => x.Code.ToLower().Equals(model.Code.ToLower().Trim())); } else { isDuplicated = isDuplicated.Where(x => x.Code.ToLower().Equals(model.Code.ToLower().Trim()) && x.Cd != model.Cd); } return(isDuplicated.Any()); }
private async Task <Unit> AddSelectedFutureSalesman(SalesmenAggregateModel salesmenAggregateModel) { FilteredOrganizationSalesmen.Remove(salesmenAggregateModel); var model = new SalesmanModel { IsPrimary = false, SalesmanId = salesmenAggregateModel.SalesmanId, SalesmanName = salesmenAggregateModel.SalesmanName }; DistrictSalesmen.Add(new Salesman(model)); await dataService.InsertSecondarySalesman(salesmenAggregateModel.SalesmanId, District.Model.DistrictId); return(Unit.Default); }
private void ProcessGbCommission(SqlConnection con, SqlTransaction tran, SalesmanModel salesman, double salesAmount) { var gbPolicy = _policy.GbCommissionPercentage(); SalesmanModel reference = new SalesmanModel { Id = salesman.Id, Code = salesman.Code, ReferenceCode = salesman.ReferenceCode, CompanyCode = salesman.CompanyCode }; double personalSalesAmount, commission; int level; for (level = 0; level < 10; level++) { if (reference == null || string.IsNullOrEmpty(reference.ReferenceCode)) { break; } personalSalesAmount = _salesman.GetSalesAmount(reference.CompanyCode, code: reference.Code); if (_policy.IsEligible(personalSalesAmount)) { commission = salesAmount * gbPolicy[level] / 100; _salary.AddGbCommission(connection: con, transaction: tran, reference.CompanyCode, reference.Code, commission); } else { if (level < 9) { gbPolicy[level + 1] += gbPolicy[level]; } } reference = _salesman.Get(reference.CompanyCode, reference.ReferenceCode).FirstOrDefault(); if (reference == null) { break; } } while (level < 10) { //Unpaid commisiion added to company account. commission = salesAmount * gbPolicy[level++] / 100; _salary.AddGbCommission(con, tran, null, salesman.CompanyCode, commission); } }
public SalesmanViewModel(string username, string accountRole) { model = new SalesmanModel { closeWindow = false, name = username, role = accountRole, }; Logout = new RelayCommand <object>(p => p != null, p => { var target = p as SalesmanView; target.Hide(); var loginView = new LoginView(); Application.Current.MainWindow = loginView; loginView.Show(); target.Close(); }); MinimizeWindow = new RelayCommand <object>(p => p != null, p => { var target = p as SalesmanView; target.WindowState = WindowState.Minimized; }); CloseWindow = new RelayCommand <object>(p => p != null, p => { var target = p as SalesmanView; MyMessageBox.ShowChosen(target, "Are you sure you want to exit?", ChooseYesNo); if (model.closeWindow) { target.Close(); } }); }
public IActionResult SaveSalesman(SalesmanModel salesman) { try { if (_employee.SaveOrUpdateSalesman(salesman)) { return(Ok(new { status = true, result = "Salesman Saved Successfully." })); } else { return(Ok(new { status = false, result = "Failed to save the salesman." })); } } catch (InvalidException err) { return(Ok(new { status = false, result = err.Message })); } catch (Exception err) { return(BadRequest(err.Message)); } }
public bool SaveOrUpdateSalesman(SalesmanModel salesman) { if (_salesman.Count(salesman.CompanyCode) > 1 && String.IsNullOrEmpty(salesman.Code)) { throw new InvalidException("SIDC is required."); } if (salesman.Id == null || salesman.Id == 0) { SalesmanModel existSalesman = _salesman.Get(salesman.CompanyCode, salesman.Code).FirstOrDefault(); if (existSalesman == null) { return(_salesman.Add(salesman)); } else { throw new InvalidException($"{salesman.Code} already exist, try with another code."); } } else { return(_salesman.Update(salesman)); } }
public AjaxResponseModel Create(SalesmanModel model, string userId) { try { var saleman = new MstSalesman() { Code = model.Code.Trim(), Name = model.Name.Trim(), NameKana = model.SalemanNameKana.Trim(), InsertDate = DateTime.Now, InsertUserId = userId, UpdateDate = DateTime.Now, UpdateUserId = userId }; Add(saleman); return(new AjaxResponseModel(true, null)); } catch (Exception e) { return(new AjaxResponseModel(false, e.Message)); } }
public bool IsEligibleForOrdinalCommission(SalesmanModel salesman) { double personalSale = _salesman.GetSalesAmount(salesman.CompanyCode, code: salesman.Code); if (!IsEligible(personalSale)) { return(false); } double associatesSale = _salesman.GetAssociatesSalesAmount(salesman.CompanyCode, referenceCode: salesman.ReferenceCode); switch (salesman.Designation) { case Designation.C: { return(associatesSale >= 16000); } case Designation.D: { if (associatesSale >= 6000) { var associates = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.C); bool isEligible = false; foreach (var associate in associates) { if (isEligible) { return(true); } isEligible = IsEligibleForOrdinalCommission(associate); } } return(false); } case Designation.E: { if ((personalSale + associatesSale) >= 70000) { var associatesB = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.B); int eligibleB = 0; foreach (var associate in associatesB) { if (eligibleB == 3) { break; } if (IsEligible(_salesman.GetSalesAmount(associate.CompanyCode, code: associate.Code))) { eligibleB++; } } if (eligibleB == 3) { var associatesC = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.C); int eligibleC = 0; foreach (var associate in associatesC) { if (eligibleC == 3) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleC++; } } return(eligibleC == 3); } } return(false); } case Designation.F: { #region Checking B Eligiblity var associatesB = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.B); int eligibleB = 0; foreach (var associate in associatesB) { if (eligibleB == 2) { break; } if (IsEligible(_salesman.GetSalesAmount(salesman.CompanyCode, code: associate.Code))) { eligibleB++; } } if (eligibleB < 2) { return(false); } #endregion #region #region Checking C Eligiblity var associatesC = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.C); bool eligibleC = false; foreach (var associate in associatesC) { if (eligibleC) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleC = true; } } if (!eligibleC) { return(false); } #endregion #region #region Checking E Eligiblity var associatesE = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.E); int eligibleE = 0; foreach (var associate in associatesE) { if (eligibleE == 2) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleE++; } } return(eligibleE >= 2); #endregion } case Designation.G: { var associatesE = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.E); int eligibleE = 0; foreach (var associate in associatesE) { if (eligibleE == 4) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleE++; } } return(eligibleE >= 4); } case Designation.H: { var associatesE = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.E); int eligibleE = 0; foreach (var associate in associatesE) { if (eligibleE == 6) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleE++; } } return(eligibleE >= 6); } case Designation.I: { var associatesH = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.H); int eligibleH = 0; foreach (var associate in associatesH) { if (eligibleH == 6) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleH++; } } return(eligibleH >= 6); } case Designation.J: { var associatesI = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.I); int eligibleI = 0; foreach (var associate in associatesI) { if (eligibleI == 3) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleI++; } } return(eligibleI >= 3); } case Designation.K: { var associatesJ = _salesman.GetAssociates(salesman.CompanyCode, salesman.Code, (int)Designation.J); int eligibleJ = 0; foreach (var associate in associatesJ) { if (eligibleJ == 2) { break; } if (IsEligibleForOrdinalCommission(associate)) { eligibleJ++; } } return(eligibleJ >= 2); } default: return(false); } }