public SingleOrderForm(DailyPayment payment, User user) { InitializeComponent(); Payment = payment; User = user; dtpDate.Value = Payment.CalculationDate; cbxCcy.SelectedIndex = 0; cbxCashDeskSymbol.SelectedIndex = 0; }
public static bool LogComment(DailyPayment payment, User user) { using (var db = new AltasoftDailyContext()) { var comment = db.CommentLogs.Create(); comment.User = db.Users.FirstOrDefault(x => user.UserID == x.UserID); comment.CommentValue = payment.Comment; comment.Date = DateTime.Now; comment.LocalPayment = db.DailyPayments.FirstOrDefault(x => x.DailyPaymentID == payment.DailyPaymentID); db.CommentLogs.Add(comment); db.SaveChanges(); } return true; }
public static bool DeleteOrder(DailyPayment payment) { #region OrdersService AltasoftAPI.OrdersAPI.OrdersService o = new AltasoftAPI.OrdersAPI.OrdersService(); o.RequestHeadersValue = new AltasoftAPI.OrdersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion if (!payment.OrderID.HasValue) return false; using (var db = new AltasoftDailyContext()) { var user = db.Users.FirstOrDefault(x => x.UserID == payment.LocalUserID); o.DeleteOrder(new AltasoftAPI.OrdersAPI.UserAndDeptId() { DeptId = user.DeptID, DeptIdSpecified = true, UserIdentification = new AltasoftAPI.OrdersAPI.UserIdentification() { Id = user.AltasoftUserID, IdSpecified = true } }, payment.OrderID, payment.OrderID.HasValue, Guid.NewGuid().ToString(), true, true); db.DailyPayments.FirstOrDefault(x => x.DailyPaymentID == payment.DailyPaymentID).OrderID = null; db.SaveChanges(); } return true; }
public static bool LogOrder(DailyPayment payment, User user) { if (!payment.OrderID.HasValue) return false; using (var db = new AltasoftDailyContext()) { var order = db.OrderLogs.Create(); order.Amount = payment.Payment; order.Date = DateTime.Now; order.LocalPayment = db.DailyPayments.FirstOrDefault(x => x.DailyPaymentID == payment.DailyPaymentID); order.OrderID = payment.OrderID.Value; order.User = db.Users.FirstOrDefault(x => x.UserID == user.UserID); db.OrderLogs.Add(order); db.SaveChanges(); } return true; }
public static DailyPaymentAndLoan GetLoanAndDailyModel(int loanId) { #region Initialize Services #region OrdersService AltasoftAPI.OrdersAPI.OrdersService o = new AltasoftAPI.OrdersAPI.OrdersService(); o.RequestHeadersValue = new AltasoftAPI.OrdersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region CustomersService AltasoftAPI.CustomersAPI.CustomersService c = new AltasoftAPI.CustomersAPI.CustomersService(); c.RequestHeadersValue = new AltasoftAPI.CustomersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region AccountsService AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService(); a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region LoansService AltasoftAPI.LoansAPI.LoansService l = new AltasoftAPI.LoansAPI.LoansService(); l.RequestHeadersValue = new AltasoftAPI.LoansAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #endregion var result = new DailyPaymentAndLoan(); var loan = l.GetLoan(AltasoftAPI.LoansAPI.LoanControlFlags.Authorities | AltasoftAPI.LoansAPI.LoanControlFlags.Debts | AltasoftAPI.LoansAPI.LoanControlFlags.Basic, true, loanId, true); var bbbb = from x in loan.Debts select x.Name; #region Create Item var pm = loan.Authorities.LastOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.ProblemManager); var item = new DailyPayment() { LoanID = loanId, CurrentDebtInGel = loan.Debts.Where(x => !x.Name.Contains("undue_principal")).Sum(x => x.Amount), TotalDebtInGel = loan.Debts.Sum(x => x.Amount), InterestPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest_penalty")).Sum(x => x.Amount), PrincipalPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal_penalty")).Sum(x => x.Amount), OverdueInterestInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest#") || x.Name.Contains("overdue_principal_interest")).Sum(x => x.Amount), AccruedInterestInGel = loan.Debts.Where(x => x.Name == ("interest")).Sum(x => x.Amount), OverduePrincipalInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal#")).Sum(x => x.Amount), PrincipalInGel = loan.Debts.Where(x => x.Name == ("undue_principal")).Sum(x => x.Amount), CurrentPrincipalInGel = loan.Debts.Where(x => x.Name == ("principal")).Sum(x => x.Amount), LatePrincipalInGel = loan.Debts.Where(x => x.Name.ToLower().Contains("late") && x.Name.ToLower().Contains("principal")).Sum(x => x.Amount), ProblemManager = pm != null ? pm.Name : "" }; result.OperatorID = loan.Authorities.LastOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.PrimaryResponsible).UserId.Value; item.ResponsibleUser = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.PrimaryResponsible).Name; loan = l.GetLoan(AltasoftAPI.LoansAPI.LoanControlFlags.Basic, true, loanId, true); item.DeptID = loan.BranchId.Value; item.CalculationDate = loan.CalcDate.Value.Date; item.LoanAmountInGel = loan.Amount.Amount; item.LoanCCY = loan.Amount.Ccy; item.ClientNo = loan.BorrowerId.Value; item.AgreementNumber = loan.AgreementNo; item.StartDate = loan.Term.Start.ToShortDateString(); item.EndDate = loan.Term.End.ToShortDateString(); result.ClientID = loan.BorrowerId.Value; result.DeptID = loan.BranchId.Value; var customer = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Basic, true, loan.BorrowerId.Value, true); AltasoftAPI.CustomersAPI.Customer customer2; var account = a.GetAccount(AltasoftAPI.AccountsAPI.AccountControlFlags.Basic, true, new AltasoftAPI.AccountsAPI.InternalAccountIdentification() { Id = loan.AccountIdentifier, IdSpecified = true }, item.LoanCCY); customer2 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Extensions, true, loan.BorrowerId.Value, true); if (customer2.ContactInfo != null) item.Phone = customer2.ContactInfo.MobilePhone; item.ClientAccountDescrip = account.DisplayName.ValueGeo; item.ClientName = customer.Name.ValueGeo;// item.FirstName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.FirstName.ValueGeo; item.LastName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.LastName.ValueGeo; item.PersonalID = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).PIN; item.ClientAccountBranchCode = customer.BranchId.Value.ToString(); item.ClientAccountIban = account.IBAN; AltasoftAPI.CustomersAPI.Customer customer3; customer3 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Addresses, true, loan.BorrowerId.Value, true); if (customer3.AddressActual != null && customer3.AddressActual.Value != null) { item.ClientAddressFact = customer3.AddressActual.Value.ValueGeo; } item.NextScheduledPaymentInGel = l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today) != null ? l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today).Elements.Where(x => x.Name != "balance").Sum(x => x.Amount) : 0; AltasoftAPI.LoansAPI.Application app; bool? notm; bool notms; l.GetApplication(AltasoftAPI.LoansAPI.ApplicationControlFlags.ExtraFields, true, loan.Id.Value, true, out notm, out notms, out app); if (app.Businesses != null) item.BusinessAddress = app.Businesses.FirstOrDefault().Address; result.DailyPayment = item; #endregion return result; }
///////////////////////////////////////////////// public static List<DailyPayment> GetDailyByUserTest(int altasoftUserId) { #region Initialize Services #region OrdersService AltasoftAPI.OrdersAPI.OrdersService o = new AltasoftAPI.OrdersAPI.OrdersService(); o.RequestHeadersValue = new AltasoftAPI.OrdersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region CustomersService AltasoftAPI.CustomersAPI.CustomersService c = new AltasoftAPI.CustomersAPI.CustomersService(); c.RequestHeadersValue = new AltasoftAPI.CustomersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region AccountsService AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService(); a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region LoansService AltasoftAPI.LoansAPI.LoansService l = new AltasoftAPI.LoansAPI.LoansService(); l.RequestHeadersValue = new AltasoftAPI.LoansAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #endregion List<DailyPayment> list = new List<DailyPayment>(); List<DailyPaymentAndLoan> data = new List<DailyPaymentAndLoan>(); var loanss = l.ListLoans(new AltasoftAPI.LoansAPI.ListLoansQuery() { ControlFlags = AltasoftAPI.LoansAPI.LoanControlFlags.Authorities | AltasoftAPI.LoansAPI.LoanControlFlags.Debts | AltasoftAPI.LoansAPI.LoanControlFlags.Basic, Status = new AltasoftAPI.LoansAPI.LoanStatus[] { AltasoftAPI.LoansAPI.LoanStatus.Overdue, AltasoftAPI.LoansAPI.LoanStatus.Current, AltasoftAPI.LoansAPI.LoanStatus.Late } }); foreach (var loan in loanss) { var result = new DailyPaymentAndLoan(); #region Create Item var item = new DailyPayment() { LoanID = loan.Id.Value, CurrentDebtInGel = loan.Debts.Where(x => !x.Name.Contains("undue_principal")).Sum(x => x.Amount), TotalDebtInGel = loan.Debts.Sum(x => x.Amount), InterestPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest_penalty")).Sum(x => x.Amount), PrincipalPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal_penalty")).Sum(x => x.Amount), OverdueInterestInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest#") || x.Name.Contains("overdue_principal_interest")).Sum(x => x.Amount), AccruedInterestInGel = loan.Debts.Where(x => x.Name == ("interest")).Sum(x => x.Amount), OverduePrincipalInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal#")).Sum(x => x.Amount), PrincipalInGel = loan.Debts.Where(x => x.Name == ("undue_principal")).Sum(x => x.Amount), CurrentPrincipalInGel = loan.Debts.Where(x => x.Name == ("principal")).Sum(x => x.Amount) }; result.OperatorID = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.Operator).UserId.Value; item.ResponsibleUser = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.PrimaryResponsible).Name; item.DeptID = loan.BranchId.Value; item.CalculationDate = loan.CalcDate.Value.Date; item.LoanAmountInGel = loan.Amount.Amount; item.LoanCCY = loan.Amount.Ccy; item.ClientNo = loan.BorrowerId.Value; item.AgreementNumber = loan.AgreementNo; item.StartDate = loan.Term.Start.ToShortDateString(); item.EndDate = loan.Term.End.ToShortDateString(); result.ClientID = loan.BorrowerId.Value; result.DeptID = loan.BranchId.Value; var customer = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Basic, true, loan.BorrowerId.Value, true); AltasoftAPI.CustomersAPI.Customer customer2; var account = a.GetAccount(AltasoftAPI.AccountsAPI.AccountControlFlags.Basic, true, new AltasoftAPI.AccountsAPI.InternalAccountIdentification() { Id = loan.AccountIdentifier, IdSpecified = true }, item.LoanCCY); customer2 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Extensions, true, loan.BorrowerId.Value, true); item.Phone = customer2.ContactInfo.MobilePhone; item.ClientAccountDescrip = account.DisplayName.ValueGeo; item.ClientName = customer.Name.ValueGeo; item.FirstName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.FirstName.ValueGeo; item.LastName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.LastName.ValueGeo; item.PersonalID = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).PIN; item.ClientAccountBranchCode = customer.BranchId.Value.ToString(); item.ClientAccountIban = account.IBAN; AltasoftAPI.CustomersAPI.Customer customer3; customer3 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Addresses, true, loan.BorrowerId.Value, true); if (customer3.AddressActual != null) { item.ClientAddressFact = customer3.AddressActual.Value.ValueGeo; } item.NextScheduledPaymentInGel = l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today) != null ? l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today).Elements.Where(x => x.Name != "balance").Sum(x => x.Amount) : 0; AltasoftAPI.LoansAPI.Application app; bool? notm; bool notms; l.GetApplication(AltasoftAPI.LoansAPI.ApplicationControlFlags.ExtraFields, true, loan.Id.Value, true, out notm, out notms, out app); item.BusinessAddress = app.Businesses.FirstOrDefault().Address; result.DailyPayment = item; data.Add(result); #endregion } using (var db = new AltasoftDailyContext()) { var user = db.Users.FirstOrDefault(x => x.AltasoftUserID == altasoftUserId); try { if (user.Filter.IsDeptFilterEnabled && data != null) data = data.Where(x => x != null && user.Filter.FilterData.Any(y => y.DeptID == x.DeptID)).ToList(); if (user.Filter.IsCustomerFilterEnabled && data != null) data = data.Where(x => x != null && user.Filter.FilterData.Any(y => y.ClientID == x.ClientID)).ToList(); if (user.Filter.IsOperatorFilterEnabled && data != null) data = data.Where(x => x != null && user.Filter.FilterData.Any(y => y.OperatorID == x.OperatorID)).ToList(); } catch (NullReferenceException) { return new List<DailyPayment>(); } if (data != null) data.ForEach(x => { if (x != null) list.Add(x.DailyPayment); }); } return list.OrderBy(x => x.LoanID).ToList(); }
public static List<DailyPayment> GetDailyByDeptId(int deptId) { #region Initialize Services #region OrdersService AltasoftAPI.OrdersAPI.OrdersService o = new AltasoftAPI.OrdersAPI.OrdersService(); o.RequestHeadersValue = new AltasoftAPI.OrdersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region CustomersService AltasoftAPI.CustomersAPI.CustomersService c = new AltasoftAPI.CustomersAPI.CustomersService(); c.RequestHeadersValue = new AltasoftAPI.CustomersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region AccountsService AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService(); a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #region LoansService AltasoftAPI.LoansAPI.LoansService l = new AltasoftAPI.LoansAPI.LoansService(); l.RequestHeadersValue = new AltasoftAPI.LoansAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() }; #endregion #endregion List<DailyPayment> list = new List<DailyPayment>(); var loansIds = (from x in l.ListLoans(new AltasoftAPI.LoansAPI.ListLoansQuery() { ControlFlags = AltasoftAPI.LoansAPI.LoanControlFlags.Basic, Status = new AltasoftAPI.LoansAPI.LoanStatus[] { AltasoftAPI.LoansAPI.LoanStatus.Overdue, AltasoftAPI.LoansAPI.LoanStatus.Current, AltasoftAPI.LoansAPI.LoanStatus.Late } }) select x.Id.Value).ToList().OrderBy(x => x); foreach (var loanId in loansIds) { var loan = l.GetLoan(AltasoftAPI.LoansAPI.LoanControlFlags.Authorities | AltasoftAPI.LoansAPI.LoanControlFlags.Debts | AltasoftAPI.LoansAPI.LoanControlFlags.Basic, true, loanId, true); if (loan.BranchId == deptId) { var item = new DailyPayment() { LoanID = loanId, CurrentDebtInGel = loan.Debts.Where(x => !x.Name.Contains("undue_principal")).Sum(x => x.Amount), TotalDebtInGel = loan.Debts.Sum(x => x.Amount), InterestPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest_penalty")).Sum(x => x.Amount), PrincipalPenaltyInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal_penalty")).Sum(x => x.Amount), OverdueInterestInGel = loan.Debts.Where(x => x.Name.Contains("overdue_interest#") || x.Name.Contains("overdue_principal_interest")).Sum(x => x.Amount), AccruedInterestInGel = loan.Debts.Where(x => x.Name == ("interest")).Sum(x => x.Amount), OverduePrincipalInGel = loan.Debts.Where(x => x.Name.Contains("overdue_principal#")).Sum(x => x.Amount), PrincipalInGel = loan.Debts.Where(x => x.Name == ("undue_principal")).Sum(x => x.Amount), CurrentPrincipalInGel = loan.Debts.Where(x => x.Name == ("principal")).Sum(x => x.Amount) }; loan = l.GetLoan(AltasoftAPI.LoansAPI.LoanControlFlags.Basic, true, loanId, true); item.CalculationDate = loan.CalcDate.Value.Date; item.LoanAmountInGel = loan.Amount.Amount; item.LoanCCY = loan.Amount.Ccy; item.ClientNo = loan.BorrowerId.Value; item.AgreementNumber = loan.AgreementNo; item.StartDate = loan.Term.Start.ToShortDateString(); item.EndDate = loan.Term.End.ToShortDateString(); var customer = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Basic, true, loan.BorrowerId.Value, true); AltasoftAPI.CustomersAPI.Customer customer2; var account = a.GetAccount(AltasoftAPI.AccountsAPI.AccountControlFlags.Basic, true, new AltasoftAPI.AccountsAPI.InternalAccountIdentification() { Id = loan.AccountIdentifier, IdSpecified = true }, item.LoanCCY); customer2 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Extensions, true, loan.BorrowerId.Value, true); item.Phone = customer2.ContactInfo.MobilePhone; item.ClientAccountDescrip = account.DisplayName.ValueGeo; item.ClientName = customer.Name.ValueGeo; item.FirstName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.FirstName.ValueGeo; item.LastName = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).Name.LastName.ValueGeo; item.PersonalID = (customer.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).PIN; item.ClientAccountBranchCode = customer.BranchId.Value.ToString(); item.ClientAccountIban = account.IBAN; AltasoftAPI.CustomersAPI.Customer customer3; customer3 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Addresses, true, loan.BorrowerId.Value, true); item.ClientAddressFact = customer3.AddressActual.Value.ValueGeo; item.NextScheduledPaymentInGel = l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today) != null ? l.GetLoanSchedule(AltasoftAPI.LoansAPI.DebtComponentDetalization.Detailed, true, AltasoftAPI.LoansAPI.GetLoanScheduleControlFlags.Full, true, item.LoanID, true).FirstOrDefault(x => x.Date == DateTime.Today).Elements.Where(x => x.Name != "balance").Sum(x => x.Amount) : 0; AltasoftAPI.LoansAPI.Application app; bool? notm; bool notms; l.GetApplication(AltasoftAPI.LoansAPI.ApplicationControlFlags.ExtraFields, true, loan.Id.Value, true, out notm, out notms, out app); item.BusinessAddress = app.Businesses.FirstOrDefault().Address; list.Add(item); } } //list.AddRange(GetDailyByDeptId() as IEnumerable<DailyPayment>); return list.OrderBy(x => x.ClientNo).ToList(); }