Пример #1
0
        public DailyPaymentsForm(User user)
        {
            User = user;
            InitializeComponent();

            cbxPorts.Items.AddRange(SerialPort.GetPortNames());
        }
        public ChangePasswordForm(User user, bool forced = false)
        {
            InitializeComponent();

            User = user;

            if (forced)
                btnCancel.Enabled = false;
        }
Пример #3
0
        public SingleOrderForm(DailyPayment payment, User user)
        {
            InitializeComponent();
            Payment = payment;
            User = user;

            dtpDate.Value = Payment.CalculationDate;

            cbxCcy.SelectedIndex = 0;
            cbxCashDeskSymbol.SelectedIndex = 0;
        }
Пример #4
0
        private void SyncUsers()
        {
            #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 apiUsers = l.ListUsers(new AltasoftAPI.LoansAPI.ListUsersQuery());

            using (var db = new AltasoftDailyContext())
            {
                var dbUsers = db.Users.ToList();

                foreach (var user in apiUsers)
                {
                    var dbUser = dbUsers.FirstOrDefault(x => x.AltasoftUserID == user.Id);

                    if (dbUser == null)
                    {
                        var newUser = new User();

                        newUser.Username = user.LoginName.Replace("@businesscredit.ge", "");
                        newUser.AltasoftUserID = user.Id;
                        newUser.DeptID = user.DeptId;
                        newUser.Name = user.DisplayName.Split(' ').FirstOrDefault();
                        newUser.Password = "******";
                        newUser.LastName = user.DisplayName.Split(' ').LastOrDefault();
                        newUser.LastPasswordChange = DateTime.Now;

                        db.Users.Add(newUser);
                    }
                }

                var saved = db.SaveChanges();
            }
        }
Пример #5
0
        public AddCommentForm(int dailyPaymentID, User user)
        {
            User = user;
            DailyPaymentID = dailyPaymentID;

            InitializeComponent();

            LoadData();

            cbxCommentType.Items.AddRange((from x in Enum.GetValues(typeof(CommentType)).Cast<CommentType>().ToList()
                                          select new { DisplayMember = GetEnumDescription((CommentType)x), ValueMember = x }).Cast<object>().ToArray());
        }
Пример #6
0
        public static bool LogException(Exception ex, User user)
        {
            if (ex == null)
                return false;

            using (var db = new AltasoftDailyContext())
            {
                db.ExceptionLogs.Add(CreateExceptionLog(ex, user != null ? db.Users.FirstOrDefault(x => x.UserID == user.UserID) : null));
                db.SaveChanges();
            }

            return true;
        }
Пример #7
0
        public static bool ChangePassword(User user, string oldPassword, string newPassword)
        {
            using (var db = new AltasoftDailyContext())
            {
                var dbUser = db.Users.FirstOrDefault(x => x.UserID == user.UserID);

                if (dbUser.Password == oldPassword)
                {
                    user.Password = newPassword;
                    db.SaveChanges();
                    return true;
                }

                return false;
            }
        }
Пример #8
0
        public static bool LogSign(SignType signType, User user)
        {
            using (var db = new AltasoftDailyContext())
            {
                var sign = db.SignLogs.Create();

                sign.User = user != null ? db.Users.FirstOrDefault(x => x.UserID == user.UserID) : null;
                sign.Date = DateTime.Now;
                sign.InternalUsername = Environment.UserName;
                sign.SignType = signType;

                db.SignLogs.Add(sign);
                db.SaveChanges();
            }

            return true;
        }
Пример #9
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;
        }
Пример #10
0
        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;
        }
Пример #11
0
        private static ExceptionLog CreateExceptionLog(Exception ex, User user, bool isInner = false)
        {
            var exLog = new ExceptionLog();

            exLog.Date = DateTime.Now;
            exLog.User = user;

            exLog.IsInner = isInner;

            exLog.Message = ex.Message;
            exLog.Source = ex.Source;
            exLog.StackTrace = ex.StackTrace;

            if (ex.InnerException != null)
                exLog.InnerException = CreateExceptionLog(ex.InnerException, user, true);

            return exLog;
        }
Пример #12
0
 public CommentsForm(User user)
 {
     User = user;
     InitializeComponent();
 }
Пример #13
0
        public static List<DailyPaymentIDOrderID> SubmitOrdersFromDatabase(User user)
        {
            List<DailyPaymentIDOrderID> result = new List<DailyPaymentIDOrderID>();
            var calcDate = GetCalculationDate();

            using (var db = new AltasoftDailyContext())
            {
                var localPayments = db.DailyPayments.Where(x => x.CalculationDate == calcDate && x.LocalUserID == user.UserID && x.Payment > 0 && x.OrderID == null).ToList();

                foreach (var item in localPayments)
                {
                    DeleteOrder(item);
                    result.Add(new DailyPaymentIDOrderID() { OrderID = SubmitOrder(item.TaxOrderNumber, "GEL", item.CalculationDate.Date, item.ClientAccountIban, item.Payment, item.AgreementNumber, "09", user.AltasoftUserID, user.DeptID), PaymentID = item.DailyPaymentID, CoverLoanID = !item.IsOld ? CoverLoan(item.LoanID, item.Payment) : "Not Covered" });
                }
            }

            return result;
        }
Пример #14
0
 public OrderLogsForm(User user)
 {
     InitializeComponent();
 }
Пример #15
0
 public LoggingForm(LogType type, User user)
 {
     InitializeComponent();
     LogType = type;
 }
Пример #16
0
 public EnforcementForm(User user)
 {
     User = user;
     InitializeComponent();
 }
Пример #17
0
        /////////////////////////////////////////////////
        public static List<EnforcementLoan> ListEnForcementLoans(User problemManager, params int[] localIds)
        {
            #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 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 }
                                }) select x.Id.Value).Except(localIds).ToArray();

            var list1 = new List<EnforcementLoan>();

            foreach (var i in loansIds)
            {
                var loan = l.GetLoan(AltasoftAPI.LoansAPI.LoanControlFlags.Basic | AltasoftAPI.LoansAPI.LoanControlFlags.Authorities | AltasoftAPI.LoansAPI.LoanControlFlags.Debts, true, i, true);

                if (loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.ProblemManager && x.UserId.Value == problemManager.AltasoftUserID) == null)
                    continue;

                var cus1 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Basic | AltasoftAPI.CustomersAPI.CustomerControlFlags.Addresses | AltasoftAPI.CustomersAPI.CustomerControlFlags.ContactPersons | AltasoftAPI.CustomersAPI.CustomerControlFlags.Extensions, true, loan.BorrowerId.Value, true);

                /////////////////////////////////
                AltasoftAPI.LoansAPI.Application app;
                bool? n;
                bool n2;

                l.GetApplication(AltasoftAPI.LoansAPI.ApplicationControlFlags.Basic | AltasoftAPI.LoansAPI.ApplicationControlFlags.Extensions, true, i, true, out n, out n2, out app);

                var collaterals = l.ListLinkedCollaterals(new AltasoftAPI.LoansAPI.ListLinkedCollateralsQuery()
                {
                    ControlFlags = AltasoftAPI.LoansAPI.LinkedCollateralControlFlags.Basic | AltasoftAPI.LoansAPI.LinkedCollateralControlFlags.Attributes,
                    ApplicationId = app.Id.Value,
                    ApplicationIdSpecified = app.IdSpecified
                });

                /////////////////////////////////

                var enf = new EnforcementLoan();

                enf.LoanID = loan.Id.Value;
                enf.AgreementAndSummaryJudgementTerms = new AgreementAndSummaryJudgementTerms() { End = DateTime.Now, Start = DateTime.Now, PaymentDay = 0 };
                try
                {
                    enf.BorrowerAddress = cus1.AddressActual != null ? cus1.AddressActual.Value.ValueGeo : "";
                }
                catch { }
                enf.BorrowerName = cus1.Name != null ? cus1.Name.ValueGeo : "";
                enf.BorrowerPhone = cus1.ContactInfo != null ? cus1.ContactInfo.MobilePhone : "";
                enf.CreditExpert = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.Operator).Name;
                enf.LoanAgreementNumber = loan.AgreementNo;
                enf.Status = EnforcementLoanStatus.Active;
                enf.GivePLD = DateTime.Now;
                enf.ProblemManagerName = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.ProblemManager).Name;
                enf.ProblemManagerID = loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.ProblemManager).UserId.Value;
                enf.BorrowerPrivateNumber = (cus1.Entity as AltasoftAPI.CustomersAPI.IndividualEntity).PIN;

                enf.CaseStatus = EnforcementCaseStatus.NewCase;

                ///////////////////////////////////////////
                enf.LoanPrincipal = loan.Debts.Where(x => x.Name.Contains("overdue_principal#")).Sum(x => x.Amount)                                         //OverduePrincipalInGel
                                  + loan.Debts.Where(x => x.Name == ("undue_principal")).Sum(x => x.Amount)                                                 //PrincipalInGel
                                  + loan.Debts.Where(x => x.Name == ("principal")).Sum(x => x.Amount)                                                       //CurrentPrincipalInGel
                                  + loan.Debts.Where(x => x.Name.ToLower().Contains("late") && x.Name.ToLower().Contains("principal")).Sum(x => x.Amount);  //LatePrincipalInGel

                enf.LoanInterest = loan.Debts.Where(x => x.Name.Contains("overdue_interest#") || x.Name.Contains("overdue_principal_interest")).Sum(x => x.Amount) //OverdueInterestInGel
                                 + loan.Debts.Where(x => x.Name == ("interest")).Sum(x => x.Amount);                                                               //AccruedInterestInGel

                enf.LoanPenalty = loan.Debts.Where(x => x.Name.Contains("overdue_interest_penalty")).Sum(x => x.Amount)          //InterestPenaltyInGel
                                + loan.Debts.Where(x => x.Name.Contains("overdue_principal_penalty")).Sum(x => x.Amount);        //PrincipalPenaltyInGel
                enf.TotalLoanDebt = loan.Debts.Sum(x => x.Amount);
                ///////////////////////////////////////////

                enf.ApplicationSubmitDate = DateTime.Now;
                enf.LoanStartDate = loan.Term.Start;

                if (collaterals.Count() > 0)
                {
                    var coll = l.ListCollaterals(new AltasoftAPI.LoansAPI.ListCollateralsQuery()
                    {
                        Id = collaterals.FirstOrDefault().CollateralId,
                        IdSpecified = collaterals.FirstOrDefault().CollateralIdSpecified,
                        ControlFlags = AltasoftAPI.LoansAPI.CollateralControlFlags.Basic | AltasoftAPI.LoansAPI.CollateralControlFlags.Attributes
                    });

                    var col1 = c.GetCustomer(AltasoftAPI.CustomersAPI.CustomerControlFlags.Basic | AltasoftAPI.CustomersAPI.CustomerControlFlags.Addresses, true, coll[0].OwnerId.Value, true);
                }

                if (loan.Authorities.FirstOrDefault(x => x.Role == AltasoftAPI.LoansAPI.AuthorityRole.ProblemManager) != null)
                    list1.Add(enf);
            }

            return list1;
        }
Пример #18
0
        public static int GetUpdatesByAltasoftUser(User user)
        {
            var calcDate = GetCalculationDate();

            List<DailyPayment> result = new List<DailyPayment>();

            using (var db = new AltasoftDailyContext())
            {
                var localPayments = db.DailyPayments.Where(x => x.CalculationDate == calcDate && x.LocalUserID == user.UserID && !x.IsOld).ToList();
                var localPaymentsIds = from x in localPayments
                                       select x.LoanID;

                var lmsPayments = GetDailyByUser(user.AltasoftUserID).Where(x => x.CalculationDate == calcDate && x.LoanID != 2331);
                var lmsPaymentsIds = from x in lmsPayments
                                     select x.LoanID;

                var newPaymentsIds = lmsPaymentsIds.Except(localPaymentsIds).ToList();
                var oldPaymentsIds = localPaymentsIds.Except(lmsPaymentsIds).ToList();

                var newPayments = lmsPayments.Where(x => newPaymentsIds.Contains(x.LoanID));
                var oldPayments = localPayments.Where(x => oldPaymentsIds.Contains(x.LoanID));

                int count = 0;
                if (localPayments.Count > 0)
                    count = localPayments.Max(x => x.TaxOrderNumber);

                foreach (var item in newPayments)
                {
                    count++;
                    item.LocalUserID = user.UserID;
                    item.TaxOrderNumber = int.Parse(user.DeptID + user.AltasoftUserID.ToString() + count);
                }

                if (newPaymentsIds.Count > 0)
                    db.DailyPayments.AddRange(newPayments);

                if (oldPaymentsIds.Count > 0)
                    db.DailyPayments.RemoveRange(oldPayments);

                db.SaveChanges();
                return newPaymentsIds.Count;
            }
        }