示例#1
0
        public static object GetGroupViewByFilter(SessionInfo sessioninfo, string name, int jtStartIndex, int jtPageSize, string jtSorting)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List <CptyLimitModel> ctpys = _counterpartyBusiness.GetGroupViewByFilter(sessioninfo, name, jtSorting);

                //Return result to jTable
                return(new
                {
                    Result = "OK",
                    Records = jtPageSize > 0 ? ctpys.Skip(jtStartIndex).Take(jtPageSize).ToList() : ctpys,
                    TotalRecordCount = ctpys.Count
                });
            }
            catch (BusinessWorkflowsException bex)
            {
                return(new { Result = "ERROR", Message = bex.Message });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#2
0
        public static object GetCtpyLimitOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var ctpylimit = _counterpartyBusiness.GetCounterpartyLimitAll();
                var ctpy      = _counterpartyBusiness.GetCounterpartyAll();

                var options = from cl in ctpylimit
                              join ct in ctpy on cl.CTPY_ID equals ct.ID
                              select new {
                    DisplayText = ct.SNAME + " : " + cl.MA_LIMIT.LABEL
                    , SortOrder = cl.MA_LIMIT.INDEX
                    , Value     = cl.ID
                };

                //Return result to jTable
                return(new { Result = "OK", Options = options.OrderBy(t => t.DisplayText).ThenBy(t => t.SortOrder).Select(c => new { DisplayText = c.DisplayText, Value = c.Value }) });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#3
0
 public static object Update(SessionInfo sessioninfo, MA_COUTERPARTY record)
 {
     try
     {
         if (record.ID == record.GROUP_CTPY_ID)
         {
             throw new Exception("Group can't same as Counterparty.");
         }
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         record.SNAME              = record.SNAME.ToUpper();
         record.TBMA_NAME          = record.TBMA_NAME.ToUpper();
         record.FNAME              = record.FNAME.ToUpper();
         record.BUSINESS           = record.BUSINESS.ToUpper();
         record.ISACTIVE           = record.ISACTIVE == null || !record.ISACTIVE.Value ? false : true;
         record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
         record.LOG.MODIFYDATE     = DateTime.Now;
         record.GROUP_CTPY_ID      = record.GROUP_CTPY_ID == Guid.Empty ? null : record.GROUP_CTPY_ID;
         var addedRecord = _counterpartyBusiness.Update(sessioninfo, record);
         return(new { Result = "OK", Record = addedRecord });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
示例#4
0
        public static object GetTempLimitByFilter(SessionInfo sessioninfo, string strCtpy, string strLimit, string strEffDateFrom, string strEffDateTo
                                                  , string strExpDateFrom, string strExpDateTo, int jtStartIndex, int jtPageSize, string jtSorting)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List <MA_TEMP_CTPY_LIMIT> ctpys = _counterpartyBusiness.GetTempLimitByFilter(sessioninfo, strCtpy, strLimit, strEffDateFrom, strEffDateTo
                                                                                             , strExpDateFrom, strExpDateTo, jtSorting);

                //Return result to jTable
                return(new
                {
                    Result = "OK",
                    Records = jtPageSize > 0 ? ctpys.Skip(jtStartIndex).Take(jtPageSize).ToList() : ctpys,
                    TotalRecordCount = ctpys.Count
                });
            }
            catch (BusinessWorkflowsException bex)
            {
                return(new { Result = "ERROR", Message = bex.Message });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
        public List<LimitCheckModel> CheckAllPCE(DateTime ProcessingDate, DA_TRN trn, Guid ExcludeID1, Guid ExcludeID2)
        {
            CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

            List<LimitCheckModel> results = GetPCEByCriteria(ProcessingDate, trn.CTPY_ID, trn.PRODUCT_ID.Value, "", ExcludeID1, ExcludeID2);

            //Get group exposure
            MA_COUTERPARTY ctpy = _counterpartyBusiness.GetCounterpartyAll().FirstOrDefault(p => p.ID == trn.CTPY_ID);
            if (ctpy != null && ctpy.GROUP_CTPY_ID != null)
            {
                var group = GetPCEByCriteria(ProcessingDate, ctpy.GROUP_CTPY_ID.Value, trn.PRODUCT_ID.Value, "", ExcludeID1, ExcludeID2);
                results = results.Union(group).ToList();
            }

            //Get temp limit
            //Look for temp limit when all conditions meet
            // 1. Transaction maturity date <= Temp limit maturity date
            foreach (LimitCheckModel result in results)
            {
                MA_TEMP_CTPY_LIMIT temp_limit = _counterpartyBusiness.GetActiveTempByID(ProcessingDate, trn.MATURITY_DATE.Value, result.CTPY_LIMIT_ID);

                if (temp_limit != null)
                    result.TEMP_AMOUNT = temp_limit.AMOUNT;
                    //result.AMOUNT = result.AMOUNT + temp_limit.AMOUNT;
            }

            return results.OrderBy(p => p.SNAME).ThenBy(p => p.SORT_INDEX).ToList();
        }
示例#6
0
        public static List<LimitAuditReportModel> GetLimitAuditExport(SessionInfo sessioninfo, string strLogDatefrom, string strLogDateto, string strCtpy, string strCountry, string strEvent)
        {
            ReportBusiness _reportBusiness = new ReportBusiness();
            CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
            LookupBusiness _lookupBusiness = new LookupBusiness();
            UserBusiness _userBusiness = new UserBusiness();
            List<LimitAuditReportModel> logs = _reportBusiness.GetLimitAuditReport(sessioninfo, strLogDatefrom, strLogDateto, strCtpy, strCountry, strEvent);

               return logs;
        }
示例#7
0
        public void GetCounterpartyAllTest()
        {
            CounterpartyBusiness  target   = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            List <MA_COUTERPARTY> expected = null;                       // TODO: Initialize to an appropriate value
            List <MA_COUTERPARTY> actual;

            actual = target.GetCounterpartyAll();
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
 public void CreateTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     SessionInfo sessioninfo = null; // TODO: Initialize to an appropriate value
     MA_COUTERPARTY counterparty = null; // TODO: Initialize to an appropriate value
     MA_COUTERPARTY expected = null; // TODO: Initialize to an appropriate value
     MA_COUTERPARTY actual;
     actual = target.Create(sessioninfo, counterparty);
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
        public List<LimitCheckModel> CheckAllCountry(DateTime ProcessingDate, DA_TRN trn, Guid ExcludeID1, Guid ExcludeID2)
        {
            CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
            CountryBusiness _countryBusiness = new CountryBusiness();
            List<LimitCheckModel> results = new List<LimitCheckModel>();
            LimitCheckModel result;
            LimitCheckModel temp = new LimitCheckModel();
            LimitCheckModel pce = new LimitCheckModel();
            MA_COUTERPARTY ctpy = _counterpartyBusiness.GetCounterpartyAll().FirstOrDefault(p => p.ID == trn.CTPY_ID);

            List<LimitCheckModel> sets = GetCountrySETByCriteria(ProcessingDate, ctpy.COUNTRY_ID, "", ExcludeID1, ExcludeID2);
            List<LimitCheckModel> pces = GetCountryPCEByCriteria(ProcessingDate, ctpy.COUNTRY_ID, "", ExcludeID1, ExcludeID2);

            if (pces.Count != 1)
                throw new Exception("Invalid country limit data. Please contact administrator");
            else
                pce = pces.FirstOrDefault();

            MA_COUNTRY_LIMIT temp_limit = _countryBusiness.GetActiveTempByCountryID(ProcessingDate, trn.MATURITY_DATE.Value, ctpy.COUNTRY_ID);

            DateTime dateStart = trn.TRADE_DATE.Value;
            DateTime dateEnd = trn.FLAG_SETTLE.HasValue && trn.FLAG_SETTLE.Value ? trn.DA_TRN_FLOW.Max(p => p.FLOW_DATE).Value : trn.TRADE_DATE.Value;

            while (dateStart <= dateEnd)
            {
                result = new LimitCheckModel();

                temp = sets.FirstOrDefault(p => p.FLOW_DATE == dateStart);

                result.COUNTRY_LABEL = pce.COUNTRY_LABEL;
                result.COUNTRY_ID = pce.COUNTRY_ID;
                result.FLAG_CONTROL = pce.FLAG_CONTROL;
                result.GEN_AMOUNT = pce.GEN_AMOUNT;
                result.TEMP_AMOUNT = temp_limit != null ? temp_limit.AMOUNT : 0;
                //result.AMOUNT = pce.AMOUNT + (temp_limit != null ? temp_limit.AMOUNT : 0);
                result.PROCESSING_DATE = pce.PROCESSING_DATE;
                result.EXPIRE_DATE = pce.EXPIRE_DATE;
                result.FLOW_DATE = dateStart;
                result.ORIGINAL_KK_CONTRIBUTE = pce.ORIGINAL_KK_CONTRIBUTE;

                if (temp != null)
                    result.ORIGINAL_KK_CONTRIBUTE = result.ORIGINAL_KK_CONTRIBUTE + temp.ORIGINAL_KK_CONTRIBUTE;

                results.Add(result);

                //if (dateStart.DayOfWeek == DayOfWeek.Friday)
                //    dateStart = dateStart.AddDays(3);
                //else
                dateStart = dateStart.AddDays(1);
            }

            return results;
        }
示例#10
0
        public void DeleteCounterpartyLimitByIDTest()
        {
            CounterpartyBusiness target      = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            SessionInfo          sessioninfo = null;                       // TODO: Initialize to an appropriate value
            Guid ID       = new Guid();                                    // TODO: Initialize to an appropriate value
            bool expected = false;                                         // TODO: Initialize to an appropriate value
            bool actual;

            actual = target.DeleteCounterpartyLimitByID(sessioninfo, ID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
示例#11
0
        public void GetCounterpartyLimitByCtpyIDTest()
        {
            CounterpartyBusiness target      = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            SessionInfo          sessioninfo = null;                       // TODO: Initialize to an appropriate value
            Guid ID = new Guid();                                          // TODO: Initialize to an appropriate value
            List <MA_CTPY_LIMIT> expected = null;                          // TODO: Initialize to an appropriate value
            List <MA_CTPY_LIMIT> actual;

            actual = target.GetCounterpartyLimitByCtpyID(sessioninfo, ID);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
示例#12
0
        public void UpdateTest()
        {
            CounterpartyBusiness target       = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            SessionInfo          sessioninfo  = null;                       // TODO: Initialize to an appropriate value
            MA_COUTERPARTY       counterparty = null;                       // TODO: Initialize to an appropriate value
            MA_COUTERPARTY       expected     = null;                       // TODO: Initialize to an appropriate value
            MA_COUTERPARTY       actual;

            actual = target.Update(sessioninfo, counterparty);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
示例#13
0
        public void CreateCounterpartyLimitTest()
        {
            CounterpartyBusiness target            = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            SessionInfo          sessioninfo       = null;                       // TODO: Initialize to an appropriate value
            MA_CTPY_LIMIT        counterpartyLimit = null;                       // TODO: Initialize to an appropriate value
            MA_CTPY_LIMIT        expected          = null;                       // TODO: Initialize to an appropriate value
            MA_CTPY_LIMIT        actual;

            actual = target.CreateCounterpartyLimit(sessioninfo, counterpartyLimit);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
示例#14
0
 public static object DeleteCtpyLimitByID(SessionInfo sessioninfo, Guid ID)
 {
     try
     {
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         bool result = _counterpartyBusiness.DeleteCounterpartyLimitByID(sessioninfo, ID);
         return(new { Result = "OK", Message = Messages.DELETED_SUCCESSFULL });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
示例#15
0
        public static object CreateCSAProduct(SessionInfo sessioninfo, MA_CSA_PRODUCT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                var addedRecord = _counterpartyBusiness.CreateCSAProduct(sessioninfo, record);

                return(new { Result = "OK", Record = addedRecord });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#16
0
        public void GetByFilterTest()
        {
            CounterpartyBusiness target      = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
            SessionInfo          sessioninfo = null;                       // TODO: Initialize to an appropriate value
            string name       = string.Empty;                              // TODO: Initialize to an appropriate value
            int    startIndex = 0;                                         // TODO: Initialize to an appropriate value
            int    count      = 0;                                         // TODO: Initialize to an appropriate value
            string sorting    = string.Empty;                              // TODO: Initialize to an appropriate value
            List <MA_COUTERPARTY> expected = null;                         // TODO: Initialize to an appropriate value
            List <MA_COUTERPARTY> actual;

            actual = target.GetByFilter(sessioninfo, name, startIndex, count, sorting);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Verify the correctness of this test method.");
        }
示例#17
0
        public static object DeleteCSAProduct(SessionInfo sessioninfo, Guid CSA_AGREEMENT_ID, Guid PRODUCT_ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                _counterpartyBusiness.DeleteCSAProduct(sessioninfo, CSA_AGREEMENT_ID, PRODUCT_ID);

                return(new { Result = "OK" });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#18
0
        public static object Create(SessionInfo sessioninfo, MA_COUTERPARTY record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                LookupBusiness _lookupBusiness = new LookupBusiness();
                MA_CTPY_LIMIT cplimit;

                record.ID = Guid.NewGuid();
                record.SNAME = record.SNAME.ToUpper();
                record.TBMA_NAME = record.TBMA_NAME.ToUpper();
                record.FNAME = record.FNAME.ToUpper();
                record.BUSINESS = record.BUSINESS.ToUpper();
                record.ISACTIVE = record.ISACTIVE == null || !record.ISACTIVE.Value ? false : true;
                record.LOG.INSERTDATE = DateTime.Now;
                record.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;
                record.GROUP_CTPY_ID = record.GROUP_CTPY_ID == Guid.Empty ? null : record.GROUP_CTPY_ID;

                //Prepare Counterparty-Limit data
                List<MA_LIMIT> limits = _lookupBusiness.GetLimitAll();

                foreach (MA_LIMIT limit in limits)
                {
                    cplimit = new MA_CTPY_LIMIT();

                    cplimit.ID = Guid.NewGuid();
                    cplimit.CTPY_ID = record.ID;
                    cplimit.LIMIT_ID = limit.ID;
                    cplimit.FLAG_CONTROL = true;
                    cplimit.AMOUNT = 0;
                    cplimit.EXPIRE_DATE = sessioninfo.Process.CurrentDate;
                    cplimit.LOG.INSERTDATE = DateTime.Now;
                    cplimit.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;

                    record.MA_CTPY_LIMIT.Add(cplimit);
                }

                var addedRecord = _counterpartyBusiness.Create(sessioninfo, record);

                addedRecord.MA_CTPY_LIMIT.Clear();

                return new { Result = "OK", Record = addedRecord };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#19
0
        public static object Create(SessionInfo sessioninfo, MA_COUTERPARTY record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                LookupBusiness       _lookupBusiness       = new LookupBusiness();
                MA_CTPY_LIMIT        cplimit;

                record.ID                 = Guid.NewGuid();
                record.SNAME              = record.SNAME.ToUpper();
                record.TBMA_NAME          = record.TBMA_NAME.ToUpper();
                record.FNAME              = record.FNAME.ToUpper();
                record.BUSINESS           = record.BUSINESS.ToUpper();
                record.ISACTIVE           = record.ISACTIVE == null || !record.ISACTIVE.Value ? false : true;
                record.LOG.INSERTDATE     = DateTime.Now;
                record.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;
                record.GROUP_CTPY_ID      = record.GROUP_CTPY_ID == Guid.Empty ? null : record.GROUP_CTPY_ID;

                //Prepare Counterparty-Limit data
                List <MA_LIMIT> limits = _lookupBusiness.GetLimitAll();

                foreach (MA_LIMIT limit in limits)
                {
                    cplimit = new MA_CTPY_LIMIT();

                    cplimit.ID                 = Guid.NewGuid();
                    cplimit.CTPY_ID            = record.ID;
                    cplimit.LIMIT_ID           = limit.ID;
                    cplimit.FLAG_CONTROL       = true;
                    cplimit.AMOUNT             = 0;
                    cplimit.EXPIRE_DATE        = sessioninfo.Process.CurrentDate;
                    cplimit.LOG.INSERTDATE     = DateTime.Now;
                    cplimit.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;

                    record.MA_CTPY_LIMIT.Add(cplimit);
                }

                var addedRecord = _counterpartyBusiness.Create(sessioninfo, record);

                addedRecord.MA_CTPY_LIMIT.Clear();

                return(new { Result = "OK", Record = addedRecord });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#20
0
 public static object UpdateTempLimit(SessionInfo sessioninfo, MA_TEMP_CTPY_LIMIT record)
 {
     try
     {
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         record.ISACTIVE           = record.ISACTIVE == null || !record.ISACTIVE ? false : true;
         record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
         record.LOG.MODIFYDATE     = DateTime.Now;
         var addedRecord = _counterpartyBusiness.UpdateTempLimit(sessioninfo, record);
         return(new { Result = "OK" });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
示例#21
0
        public static object GetCSAProducts(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                List <MA_CSA_PRODUCT> csaproducts = _counterpartyBusiness.GetCSAProducts(sessioninfo, ID);

                //Return result to jTable
                return(new { Result = "OK", Records = csaproducts, TotalRecordCount = csaproducts.Count });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR" });
            }
        }
示例#22
0
        public static object CreateCSA(SessionInfo sessioninfo, MA_CSA_AGREEMENT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                record.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;
                record.LOG.INSERTDATE = DateTime.Now;

                var addedRecord = _counterpartyBusiness.CreateCSA(sessioninfo, record);

                return new { Result = "OK", Record = new CSAAgreementModel { ID = addedRecord.ID, CSA_TYPE_ID = addedRecord.CSA_TYPE_ID, ISACTIVE = addedRecord.ISACTIVE } };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#23
0
 public static object CreateCtpyLimit(SessionInfo sessioninfo, MA_CTPY_LIMIT record)
 {
     try
     {
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         record.ID          = Guid.NewGuid();
         record.EXPIRE_DATE = record.EXPIRE_DATE.Date;
         //record.FLAG_CONTROL = record.FLAG_CONTROL == null ? false : true;
         record.LOG.INSERTDATE     = DateTime.Now;
         record.LOG.INSERTBYUSERID = sessioninfo.CurrentUserId;
         var addedRecord = _counterpartyBusiness.CreateCounterpartyLimit(sessioninfo, record);
         return(new { Result = "OK", Record = addedRecord });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
示例#24
0
        public static object GetCounterpartyOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll()
                                     .Where(t => t.ISACTIVE == true)
                                     .OrderBy(p => p.SNAME)
                                     .Select(c => new { DisplayText = c.SNAME, Value = c.ID });

                //Return result to jTable
                return(new { Result = "OK", Options = counterparties });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#25
0
        public static object GetCounterpartyByName(string name)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll().Where(t => t.ISACTIVE == true && t.SNAME.StartsWith(name)).OrderBy(t => t.SNAME);;

                //Return result to jTable
                return(new { Result = "OK", Records = counterparties, });
            }
            catch (BusinessWorkflowsException bex)
            {
                return(new { Result = "ERROR", Message = bex.Message });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#26
0
        public static object GetCtpyLimitGroupViewByCtpyID(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List <CptyLimitModel> limits = _counterpartyBusiness.GetCtpyLimitGroupViewByCtpyID(sessioninfo, ID);

                //Return result to jTable
                return(new { Result = "OK", Records = limits, TotalRecordCount = limits.Count });
            }
            catch (BusinessWorkflowsException bex)
            {
                return(new { Result = "ERROR", Message = bex.Message });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#27
0
        public static object UpdateCSA(SessionInfo sessioninfo, MA_CSA_AGREEMENT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
                record.LOG.MODIFYDATE     = DateTime.Now;

                var updateRecord = _counterpartyBusiness.UpdateCSA(sessioninfo, record);

                return(new { Result = "OK", Record = new CSAAgreementModel {
                                 ID = updateRecord.ID, CSA_TYPE_ID = updateRecord.CSA_TYPE_ID, ISACTIVE = updateRecord.ISACTIVE
                             } });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#28
0
        public static object GetCSAByCtpyID(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                LookupBusiness       _lookupBusiness       = new LookupBusiness();
                //Get data from database
                List <CSAAgreementModel> results = new List <CSAAgreementModel>();
                var csa      = _counterpartyBusiness.GetCSAByCtpyID(sessioninfo, ID);
                var products = _lookupBusiness.GetProductAll();

                if (csa != null)
                {
                    var csaproduct = from c in csa.MA_CSA_PRODUCT
                                     join product in products on c.PRODUCT_ID equals product.ID
                                     select new
                    {
                        LABEL = product.LABEL
                    };

                    CSAAgreementModel ca = new CSAAgreementModel();
                    ca.CSA_TYPE_ID = csa.CSA_TYPE_ID;
                    ca.ID          = csa.ID;
                    ca.ISACTIVE    = csa.ISACTIVE;
                    ca.PRODUCTS    = String.Join(",", csaproduct.Select(p => p.LABEL));

                    results.Add(ca);
                }

                //Return result to jTable
                return(new { Result = "OK", Records = results, TotalRecordCount = results.Count });
            }
            catch (BusinessWorkflowsException bex)
            {
                return(new { Result = "ERROR", Message = bex.Message });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#29
0
        public static object GetCPTYGroupOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll();

                var query = counterparties.Where(t => t.ISACTIVE == true)
                            .OrderBy(p => p.SNAME)
                            .Select(c => new { DisplayText = c.SNAME, Value = c.ID }).ToList();

                query.Insert(0, new { DisplayText = "Default", Value = Guid.Empty });
                //Return result to jTable
                return(new { Result = "OK", Options = query });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#30
0
        public static object UpdateCtpyLimit(SessionInfo sessioninfo, MA_CTPY_LIMIT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //record.FLAG_CONTROL = record.FLAG_CONTROL == null ? false : true;
                if (!record.FLAG_CONTROL)
                {
                    record.AMOUNT      = 0;
                    record.EXPIRE_DATE = sessioninfo.Process.CurrentDate;
                }

                record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
                record.LOG.MODIFYDATE     = DateTime.Now;
                var updateRecord = _counterpartyBusiness.UpdateCounterpartyLimit(sessioninfo, record);

                return(new { Result = "OK", Record = updateRecord });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
示例#31
0
        public List <LimitAuditReportModel> GetLimitAuditReport(SessionInfo sessionInfo, string strLogDatefrom, string strLogDateto, string strCtpy, string strCountry, string strEvent)
        {
            try
            {
                DateTime             dteReportfrom;
                DateTime             dteReportto;
                Guid                 guCtpyID              = Guid.Empty;
                Guid                 guCountryID           = Guid.Empty;
                LogBusiness          _logBusiness          = new LogBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                CountryBusiness      _countryBusiness      = new CountryBusiness();
                UserBusiness         _userBusiness         = new UserBusiness();

                var log = _logBusiness.GetLogAll().Where(l => l.EVENT == LimitLogEvent.LIMIT_AUDIT.ToString() ||
                                                         l.EVENT == LimitLogEvent.TEMP_LIMIT_AUDIT.ToString() ||
                                                         l.EVENT == LimitLogEvent.COUNTRY_LIMIY_AUDIT.ToString() ||
                                                         l.EVENT == LimitLogEvent.TEMP_COUNTRY_LIMIT_AUDIT.ToString()).AsQueryable();

                var ctpyLimit = _counterpartyBusiness.GetCounterpartyLimitAll().AsQueryable();
                var ctpys     = _counterpartyBusiness.GetCounterpartyAll().AsQueryable();
                var countrys  = _countryBusiness.GetCountryAll().AsQueryable();
                var users     = _userBusiness.GetAll().AsQueryable();

                if (String.IsNullOrEmpty(strLogDatefrom))
                {
                    throw this.CreateException(new Exception(), "Please input start log date.");
                }
                else if (!DateTime.TryParseExact(strLogDatefrom, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportfrom))
                {
                    throw this.CreateException(new Exception(), "Invalid start log date.");
                }
                else
                {
                    dteReportfrom = DateTime.ParseExact(strLogDatefrom, "dd/MM/yyyy", null);
                }

                if (String.IsNullOrEmpty(strLogDateto))
                {
                    throw this.CreateException(new Exception(), "Please input end log date.");
                }
                else if (!DateTime.TryParseExact(strLogDateto, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportto))
                {
                    throw this.CreateException(new Exception(), "Invalid end log date.");
                }
                else
                {
                    dteReportto = DateTime.ParseExact(strLogDateto, "dd/MM/yyyy", null);
                }
                if (dteReportto < dteReportfrom)
                {
                    throw this.CreateException(new Exception(), "Start log date must before end log date.");
                }

                var limits = from limit in ctpyLimit
                             join ctpy in ctpys on limit.CTPY_ID equals ctpy.ID
                             select new
                {
                    LIMIT_ID = limit.ID,
                    CTPY_ID  = ctpy.ID,
                    SNAME    = ctpy.SNAME,
                    LIMIT    = limit.MA_LIMIT.LABEL
                };

                log = log.Where(l => l.LOG_DATE.Date >= dteReportfrom.Date && l.LOG_DATE.Date <= dteReportto.Date);

                if (strEvent != "-1")
                {
                    log = log.Where(p => p.EVENT == strEvent);
                }

                var limitAudits = from l in log
                                  join user in users on l.LOG.INSERTBYUSERID equals user.ID
                                  join c in limits on l.RECORD_ID equals c.LIMIT_ID into templimit
                                  from sublimit in templimit.DefaultIfEmpty()
                                  join country in countrys on l.RECORD_ID equals country.ID into tempcountry
                                  from subcountry in tempcountry.DefaultIfEmpty()
                                  orderby l.LOG_DATE
                                  select new LimitAuditReportModel
                {
                    ENTITY       = sublimit != null ? sublimit.SNAME : subcountry != null ? subcountry.LABEL : "",
                    ENTITY_ID    = sublimit != null ? sublimit.CTPY_ID : (subcountry != null ? subcountry.ID : Guid.Empty),
                    LIMIT        = (l.EVENT.Contains("TEMP") ? "TEMP-" : "") + (sublimit != null ? sublimit.LIMIT : "COUNTRY-LIMIT"),            //sublimit != null ? sublimit.LIMIT : "Country Limit",
                    USER         = user.USERCODE,
                    LOG_DATE     = l.LOG_DATE,
                    LOG_DATE_STR = l.LOG_DATE.ToString("dd-MMM-yyyy HH:mm"),
                    DETAIL       = l.LOG_DETAIL
                };

                if (Guid.TryParse(strCtpy, out guCtpyID))
                {
                    guCtpyID    = Guid.Parse(strCtpy);
                    limitAudits = limitAudits.Where(p => p.ENTITY_ID == guCtpyID);
                }

                if (Guid.TryParse(strCountry, out guCountryID))
                {
                    guCountryID = Guid.Parse(strCountry);
                    limitAudits = limitAudits.Where(t => t.ENTITY_ID == guCountryID);
                }

                return(limitAudits.ToList());
            }
            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
示例#32
0
        public static object GetCounterpartyByName(string name)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll().Where(t => t.ISACTIVE == true && t.SNAME.StartsWith(name)).OrderBy(t => t.SNAME); ;

                //Return result to jTable
                return new { Result = "OK", Records = counterparties, };
            }
            catch (BusinessWorkflowsException bex)
            {
                return new { Result = "ERROR", Message = bex.Message };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#33
0
        public static object GetCounterpartyOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll()
                                            .Where(t => t.ISACTIVE == true)
                                            .OrderBy(p => p.SNAME)
                                            .Select(c => new { DisplayText = c.SNAME, Value = c.ID });

                //Return result to jTable
                return new { Result = "OK", Options = counterparties };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#34
0
        public static object GetCSAByCtpyID(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                LookupBusiness _lookupBusiness = new LookupBusiness();
                //Get data from database
                List<CSAAgreementModel> results = new List<CSAAgreementModel>();
                var csa = _counterpartyBusiness.GetCSAByCtpyID(sessioninfo, ID);
                var products = _lookupBusiness.GetProductAll();

                if (csa != null)
                {
                    var csaproduct = from c in csa.MA_CSA_PRODUCT
                                     join product in products on c.PRODUCT_ID equals product.ID
                                     select new
                                     {
                                         LABEL = product.LABEL
                                     };

                    CSAAgreementModel ca = new CSAAgreementModel();
                    ca.CSA_TYPE_ID = csa.CSA_TYPE_ID;
                    ca.ID = csa.ID;
                    ca.ISACTIVE = csa.ISACTIVE;
                    ca.PRODUCTS = String.Join(",", csaproduct.Select(p => p.LABEL));

                    results.Add(ca);
                }

                //Return result to jTable
                return new { Result = "OK", Records = results, TotalRecordCount = results.Count };
            }
            catch (BusinessWorkflowsException bex)
            {
                return new { Result = "ERROR", Message = bex.Message };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#35
0
        public static object GetCtpyLimitGroupViewByCtpyID(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List<CptyLimitModel> limits = _counterpartyBusiness.GetCtpyLimitGroupViewByCtpyID(sessioninfo, ID);

                //Return result to jTable
                return new { Result = "OK", Records = limits, TotalRecordCount = limits.Count };
            }
            catch (BusinessWorkflowsException bex)
            {
                return new { Result = "ERROR", Message = bex.Message };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#36
0
        public static List<DealViewModel> GetPCEDetailData(SessionInfo sessioninfo, string strReportDate, string strCtpy, string strProduct, string strSource)
        {
            try
            {
                ReportBusiness _reportBusiness = new ReportBusiness();
                LookupBusiness _lookupBusiness = new LookupBusiness();
                CountryBusiness _countryBusiness = new CountryBusiness();
                CounterpartyBusiness _ctpyBusiness = new CounterpartyBusiness();

                List<DA_TRN> trns = _reportBusiness.GetPCEDetailReport(sessioninfo, strReportDate, strCtpy, strProduct, strSource);
                List<MA_CURRENCY> ccys = _lookupBusiness.GetCurrencyAll();
                List<MA_CSA_PRODUCT> csaproducts = _ctpyBusiness.GetCSAProductAll(sessioninfo);
                List<MA_COUNTRY> country = _countryBusiness.GetCountryAll();

                var report = (from trn in trns
                              join ct in country on trn.MA_COUTERPARTY.COUNTRY_ID equals ct.ID
                              join ccy1 in ccys on trn.FIRST.CCY_ID equals ccy1.ID into ljccy1
                              from subccy1 in ljccy1.DefaultIfEmpty()
                              join ccy2 in ccys on trn.SECOND.CCY_ID equals ccy2.ID into ljccy2
                              from subccy2 in ljccy2.DefaultIfEmpty()
                              join csaproduct in csaproducts on new { CTPY_ID = trn.CTPY_ID, PRODUCT_ID = trn.PRODUCT_ID.Value } equals new { CTPY_ID = csaproduct.CSA_AGREEMENT_ID, PRODUCT_ID = csaproduct.PRODUCT_ID } into ljcsa
                              from subcsa in ljcsa.DefaultIfEmpty()
                              select new DealViewModel
                              {
                                  EngineDate = trn.ENGINE_DATE,
                                  DMK_NO = trn.INT_DEAL_NO,
                                  OPICS_NO = trn.EXT_DEAL_NO,
                                  Source = trn.SOURCE == "INT" ? "DMK" : "OPICS",
                                  Product = trn.MA_PRODUCT.LABEL,
                                  Portfolio = trn.MA_PORTFOLIO.LABEL,
                                  TradeDate = trn.TRADE_DATE.Value,
                                  EffectiveDate = trn.START_DATE,
                                  MaturityDate = trn.MATURITY_DATE,
                                  Instrument = trn.MA_INSRUMENT.LABEL,
                                  Counterparty = trn.MA_COUTERPARTY.SNAME,
                                  Notional1 = trn.FIRST.NOTIONAL,
                                  Notional2 = trn.SECOND.NOTIONAL,
                                  FixedFloat1 = !trn.FIRST.FLAG_FIXED.HasValue ? "-" : trn.FIRST.FLAG_FIXED.Value ? trn.FIRST.FLAG_PAYREC + "-FIXED" : trn.FIRST.FLAG_PAYREC + "-FLOAT",
                                  FixedFloat2 = !trn.SECOND.FLAG_FIXED.HasValue ? "-" : trn.SECOND.FLAG_FIXED.Value ? trn.SECOND.FLAG_PAYREC + "-FIXED" : trn.SECOND.FLAG_PAYREC + "-FLOAT",
                                  KKPCCF = trn.KK_PCCF,
                                  KKContribute = trn.KK_CONTRIBUTE,
                                  CCY1 = subccy1 != null ? subccy1.LABEL : "-",
                                  CCY2 = subccy2 != null ? subccy2.LABEL : "-",
                                  CSA = subcsa != null ? "Yes" : "No",
                                  Country = ct.LABEL
                              }).OrderBy(p => p.DMK_NO).ToList();

                return report;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#37
0
        public static object GetGroupViewByFilter(SessionInfo sessioninfo, string name, int jtStartIndex, int jtPageSize, string jtSorting)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List<CptyLimitModel> ctpys = _counterpartyBusiness.GetGroupViewByFilter(sessioninfo, name, jtSorting);

                //Return result to jTable
                return new
                {
                    Result = "OK",
                    Records = jtPageSize > 0 ? ctpys.Skip(jtStartIndex).Take(jtPageSize).ToList() : ctpys,
                    TotalRecordCount = ctpys.Count
                };
            }
            catch (BusinessWorkflowsException bex)
            {
                return new { Result = "ERROR", Message = bex.Message };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#38
0
 public static object Update(SessionInfo sessioninfo, MA_COUTERPARTY record)
 {
     try
     {
         if (record.ID == record.GROUP_CTPY_ID) {
             throw new Exception("Group can't same as Counterparty.");
         }
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         record.SNAME = record.SNAME.ToUpper();
         record.TBMA_NAME = record.TBMA_NAME.ToUpper();
         record.FNAME = record.FNAME.ToUpper();
         record.BUSINESS = record.BUSINESS.ToUpper();
         record.ISACTIVE = record.ISACTIVE == null || !record.ISACTIVE.Value ? false : true;
         record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
         record.LOG.MODIFYDATE = DateTime.Now;
         record.GROUP_CTPY_ID = record.GROUP_CTPY_ID == Guid.Empty ? null : record.GROUP_CTPY_ID;
         var addedRecord = _counterpartyBusiness.Update(sessioninfo, record);
         return new { Result = "OK", Record = addedRecord };
     }
     catch (Exception ex)
     {
         return new { Result = "ERROR", Message = ex.Message };
     }
 }
示例#39
0
        public static object UpdateCtpyLimit(SessionInfo sessioninfo, MA_CTPY_LIMIT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //record.FLAG_CONTROL = record.FLAG_CONTROL == null ? false : true;
                if (!record.FLAG_CONTROL)
                {
                    record.AMOUNT = 0;
                    record.EXPIRE_DATE = sessioninfo.Process.CurrentDate;
                }

                record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
                record.LOG.MODIFYDATE = DateTime.Now;
                var updateRecord = _counterpartyBusiness.UpdateCounterpartyLimit(sessioninfo, record);

                return new { Result = "OK" , Record = updateRecord };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#40
0
 public static object UpdateTempLimit(SessionInfo sessioninfo, MA_TEMP_CTPY_LIMIT record)
 {
     try
     {
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         record.ISACTIVE = record.ISACTIVE == null || !record.ISACTIVE ? false : true;
         record.LOG.MODIFYBYUSERID = sessioninfo.CurrentUserId;
         record.LOG.MODIFYDATE = DateTime.Now;
         var addedRecord = _counterpartyBusiness.UpdateTempLimit(sessioninfo, record);
         return new { Result = "OK" };
     }
     catch (Exception ex)
     {
         return new { Result = "ERROR", Message = ex.Message };
     }
 }
示例#41
0
        public static object CreateCSAProduct(SessionInfo sessioninfo, MA_CSA_PRODUCT record)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                var addedRecord = _counterpartyBusiness.CreateCSAProduct(sessioninfo, record);

                return new { Result = "OK", Record = addedRecord };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
 public void UpdateCounterpartyLimitTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     SessionInfo sessioninfo = null; // TODO: Initialize to an appropriate value
     MA_CTPY_LIMIT counterpartyLimit = null; // TODO: Initialize to an appropriate value
     MA_CTPY_LIMIT expected = null; // TODO: Initialize to an appropriate value
     MA_CTPY_LIMIT actual;
     actual = target.UpdateCounterpartyLimit(sessioninfo, counterpartyLimit);
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
 public void CounterpartyBusinessConstructorTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness();
     Assert.Inconclusive("TODO: Implement code to verify target");
 }
示例#44
0
        public static object GetTempLimitByFilter(SessionInfo sessioninfo, string strCtpy, string strLimit, string strEffDateFrom, string strEffDateTo
                                                   , string strExpDateFrom, string strExpDateTo, int jtStartIndex, int jtPageSize, string jtSorting)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                List<MA_TEMP_CTPY_LIMIT> ctpys = _counterpartyBusiness.GetTempLimitByFilter(sessioninfo, strCtpy, strLimit, strEffDateFrom, strEffDateTo
                                                                                            , strExpDateFrom, strExpDateTo, jtSorting);

                //Return result to jTable
                return new
                {
                    Result = "OK",
                    Records = jtPageSize > 0 ? ctpys.Skip(jtStartIndex).Take(jtPageSize).ToList() : ctpys,
                    TotalRecordCount = ctpys.Count
                };
            }
            catch (BusinessWorkflowsException bex)
            {
                return new { Result = "ERROR", Message = bex.Message };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
 public void DeleteCounterpartyLimitByIDTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     SessionInfo sessioninfo = null; // TODO: Initialize to an appropriate value
     Guid ID = new Guid(); // TODO: Initialize to an appropriate value
     bool expected = false; // TODO: Initialize to an appropriate value
     bool actual;
     actual = target.DeleteCounterpartyLimitByID(sessioninfo, ID);
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
示例#46
0
        public List<LimitAuditReportModel> GetLimitAuditReport(SessionInfo sessionInfo, string strLogDatefrom, string strLogDateto, string strCtpy, string strCountry, string strEvent)
        {
            try
            {
                DateTime dteReportfrom;
                DateTime dteReportto;
                Guid guCtpyID = Guid.Empty;
                Guid guCountryID = Guid.Empty;
                LogBusiness _logBusiness = new LogBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                CountryBusiness _countryBusiness = new CountryBusiness();
                UserBusiness _userBusiness = new UserBusiness();

                var log = _logBusiness.GetLogAll().Where(l => l.EVENT == LimitLogEvent.LIMIT_AUDIT.ToString()
                                                        || l.EVENT == LimitLogEvent.TEMP_LIMIT_AUDIT.ToString()
                                                        || l.EVENT == LimitLogEvent.COUNTRY_LIMIY_AUDIT.ToString()
                                                        || l.EVENT == LimitLogEvent.TEMP_COUNTRY_LIMIT_AUDIT.ToString()).AsQueryable();

                var ctpyLimit = _counterpartyBusiness.GetCounterpartyLimitAll().AsQueryable();
                var ctpys = _counterpartyBusiness.GetCounterpartyAll().AsQueryable();
                var countrys = _countryBusiness.GetCountryAll().AsQueryable();
                var users = _userBusiness.GetAll().AsQueryable();

                if (String.IsNullOrEmpty(strLogDatefrom))
                    throw this.CreateException(new Exception(), "Please input start log date.");
                else if (!DateTime.TryParseExact(strLogDatefrom, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportfrom))
                    throw this.CreateException(new Exception(), "Invalid start log date.");
                else
                    dteReportfrom = DateTime.ParseExact(strLogDatefrom, "dd/MM/yyyy", null);

                if (String.IsNullOrEmpty(strLogDateto))
                    throw this.CreateException(new Exception(), "Please input end log date.");
                else if (!DateTime.TryParseExact(strLogDateto, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReportto))
                    throw this.CreateException(new Exception(), "Invalid end log date.");
                else
                    dteReportto = DateTime.ParseExact(strLogDateto, "dd/MM/yyyy", null);
                if (dteReportto < dteReportfrom) throw this.CreateException(new Exception(), "Start log date must before end log date.");

                var limits = from limit in ctpyLimit
                             join ctpy in ctpys on limit.CTPY_ID equals ctpy.ID
                             select new
                             {
                                 LIMIT_ID = limit.ID,
                                 CTPY_ID = ctpy.ID,
                                 SNAME = ctpy.SNAME,
                                 LIMIT = limit.MA_LIMIT.LABEL
                             };

                log = log.Where(l => l.LOG_DATE.Date >= dteReportfrom.Date && l.LOG_DATE.Date <= dteReportto.Date);

                if (strEvent != "-1")
                    log = log.Where(p => p.EVENT == strEvent);

                var limitAudits = from l in log
                                  join user in users on l.LOG.INSERTBYUSERID equals user.ID
                                  join c in limits on l.RECORD_ID equals c.LIMIT_ID into templimit
                                  from sublimit in templimit.DefaultIfEmpty()
                                  join country in countrys on l.RECORD_ID equals country.ID into tempcountry
                                  from subcountry in tempcountry.DefaultIfEmpty()
                                  orderby l.LOG_DATE
                                  select new LimitAuditReportModel
                                  {
                                      ENTITY = sublimit != null ? sublimit.SNAME : subcountry != null ? subcountry.LABEL : "",
                                      ENTITY_ID = sublimit != null ? sublimit.CTPY_ID : (subcountry != null ? subcountry.ID : Guid.Empty),
                                      LIMIT = (l.EVENT.Contains("TEMP") ? "TEMP-" : "") + (sublimit != null ? sublimit.LIMIT : "COUNTRY-LIMIT"), //sublimit != null ? sublimit.LIMIT : "Country Limit",
                                      USER = user.USERCODE,
                                      LOG_DATE = l.LOG_DATE,
                                      LOG_DATE_STR = l.LOG_DATE.ToString("dd-MMM-yyyy HH:mm"),
                                      DETAIL = l.LOG_DETAIL
                                  };

                if (Guid.TryParse(strCtpy, out guCtpyID))
                {
                    guCtpyID = Guid.Parse(strCtpy);
                    limitAudits = limitAudits.Where(p => p.ENTITY_ID == guCtpyID);
                }

                if (Guid.TryParse(strCountry, out guCountryID))
                {
                    guCountryID = Guid.Parse(strCountry);
                    limitAudits = limitAudits.Where(t => t.ENTITY_ID == guCountryID);
                }

                return limitAudits.ToList();
            }
            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
示例#47
0
        public static object GetCtpyLimitOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var ctpylimit = _counterpartyBusiness.GetCounterpartyLimitAll();
                var ctpy = _counterpartyBusiness.GetCounterpartyAll();

                var options = from cl in ctpylimit
                              join ct in ctpy on cl.CTPY_ID equals ct.ID
                              select new {
                                  DisplayText = ct.SNAME + " : " + cl.MA_LIMIT.LABEL
                                  , SortOrder = cl.MA_LIMIT.INDEX
                                  , Value = cl.ID
                              };

                //Return result to jTable
                return new { Result = "OK", Options = options.OrderBy(t => t.DisplayText).ThenBy(t => t.SortOrder).Select(c => new { DisplayText = c.DisplayText, Value = c.Value }) };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
示例#48
0
        public List<LimitCheckModel> GetCountryReport(SessionInfo sessioninfo, string strReportDate, string strCountry, string strSource, string strStatus)
        {
            try
            {
                DateTime dteReport;
                LimitCheckBusiness _limitBusiness = new LimitCheckBusiness();
                DealBusiness _dealBusiness = new DealBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                CountryBusiness _countryBusiness = new CountryBusiness();
                Guid guCountryID = Guid.Empty;
                MA_COUNTRY_LIMIT temp_limit = null;

                if (String.IsNullOrEmpty(strReportDate))
                    throw this.CreateException(new Exception(), "Please input report date.");
                else if (!DateTime.TryParseExact(strReportDate, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReport))
                    throw this.CreateException(new Exception(), "Invalid report date.");
                else
                    dteReport = DateTime.ParseExact(strReportDate, "dd/MM/yyyy", null);

                if (_dealBusiness.CountByProcessDate(dteReport) == 0)
                {
                    throw this.CreateException(new Exception(), "No data for selected report date.");
                }

                if (Guid.TryParse(strCountry, out guCountryID))
                {
                    guCountryID = Guid.Parse(strCountry);
                }

                List<LimitCheckModel>  sets = _limitBusiness.GetCountrySETByCriteria(dteReport, guCountryID, strSource, Guid.Empty, Guid.Empty);
                List<LimitCheckModel> pces = _limitBusiness.GetCountryPCEByCriteria(dteReport, guCountryID, strSource, Guid.Empty, Guid.Empty);

                var reports = (from report in sets.Union(pces)
                               join pce in pces on report.COUNTRY_ID equals pce.COUNTRY_ID
                               select new LimitCheckModel
                               {
                                   COUNTRY_LABEL = report.COUNTRY_LABEL,
                                   COUNTRY_ID = report.COUNTRY_ID,
                                   FLAG_CONTROL = report.FLAG_CONTROL,
                                   GEN_AMOUNT = report.AMOUNT,
                                   PROCESSING_DATE = report.PROCESSING_DATE,
                                   EXPIRE_DATE = report.EXPIRE_DATE,
                                   FLOW_DATE = report.FLOW_DATE,
                                   SET_CONTRIBUTE = report.SET_CONTRIBUTE,
                                   PCE_CONTRIBUTE = pce.PCE_CONTRIBUTE
                               }).GroupBy(g => new
                               {
                                   g.COUNTRY_ID,
                                   g.COUNTRY_LABEL,
                                   g.FLAG_CONTROL,
                                   g.GEN_AMOUNT,
                                   g.PROCESSING_DATE,
                                   g.EXPIRE_DATE,
                                   g.FLOW_DATE,
                                   g.PCE_CONTRIBUTE
                               }).Select(s => new LimitCheckModel
                               {
                                   COUNTRY_LABEL = s.Key.COUNTRY_LABEL,
                                   COUNTRY_ID = s.Key.COUNTRY_ID,
                                   FLAG_CONTROL = s.Key.FLAG_CONTROL,
                                   GEN_AMOUNT = s.Key.GEN_AMOUNT,
                                   PROCESSING_DATE = s.Key.PROCESSING_DATE,
                                   EXPIRE_DATE = s.Key.EXPIRE_DATE,
                                   FLOW_DATE = s.Key.FLOW_DATE,
                                   PCE_CONTRIBUTE = s.Key.PCE_CONTRIBUTE,
                                   SET_CONTRIBUTE = s.Sum(x => x.SET_CONTRIBUTE),
                                   ORIGINAL_KK_CONTRIBUTE = s.Key.PCE_CONTRIBUTE + s.Sum(y => y.SET_CONTRIBUTE)
                               }).ToList();

                foreach (var report in reports)
                {
                    temp_limit = _countryBusiness.GetActiveTempByCountryID(sessioninfo.Process.CurrentDate, report.FLOW_DATE, report.COUNTRY_ID);

                    if (temp_limit != null)
                        report.TEMP_AMOUNT = temp_limit.AMOUNT;
                }

                if (strStatus != "")
                {
                    reports = reports.Where(t => t.STATUS.IndexOf(strStatus, StringComparison.OrdinalIgnoreCase) >= 0).ToList();
                }

                return reports.OrderBy(p => p.COUNTRY_LABEL).ThenBy(t => t.FLOW_DATE).ToList();
            }

            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
示例#49
0
        public static object GetCSAProducts(SessionInfo sessioninfo, Guid ID)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();

                List<MA_CSA_PRODUCT> csaproducts = _counterpartyBusiness.GetCSAProducts(sessioninfo, ID);

                //Return result to jTable
                return new { Result = "OK", Records = csaproducts, TotalRecordCount = csaproducts.Count };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR"};
            }
        }
示例#50
0
        public List<LimitCheckModel> GetSCEReport(SessionInfo sessioninfo, string strReportDate, string strCtpy, string strSource, string strStatus)
        {
            try
            {
                DateTime dteReport;
                LimitCheckBusiness _limitBusiness = new LimitCheckBusiness();
                DealBusiness _dealBusiness = new DealBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                Guid guCtpyID = Guid.Empty;

                if (String.IsNullOrEmpty(strReportDate))
                    throw this.CreateException(new Exception(), "Please input report date.");
                else if (!DateTime.TryParseExact(strReportDate, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReport))
                    throw this.CreateException(new Exception(), "Invalid report date.");
                else
                    dteReport = DateTime.ParseExact(strReportDate, "dd/MM/yyyy", null);

                if (_dealBusiness.CountByProcessDate(dteReport) == 0)
                {
                    throw this.CreateException(new Exception(), "No data for selected report date.");
                }

                if (Guid.TryParse(strCtpy, out guCtpyID))
                {
                    guCtpyID = Guid.Parse(strCtpy);
                }

                var limits = _limitBusiness.GetSCEByCriteria(dteReport, guCtpyID, Guid.Empty, strSource, Guid.Empty, Guid.Empty)
                                            .OrderBy(p => p.SNAME).ThenBy(p => p.FLOW_DATE)
                                            .Distinct(new LimitCheckComparer()).AsQueryable();

                //Get temp limit
                //Look for temp limit when all conditions meet
                // 1. Transaction maturity date <= Temp limit maturity date
                foreach (LimitCheckModel limit in limits)
                {
                    MA_TEMP_CTPY_LIMIT temp_limit = _counterpartyBusiness.GetActiveTempByID(sessioninfo.Process.CurrentDate, limit.FLOW_DATE, limit.CTPY_LIMIT_ID);

                    if (temp_limit != null)
                        limit.TEMP_AMOUNT = temp_limit.AMOUNT;
                }

                if (strStatus != "" )
                {
                    limits = limits.Where(t => t.STATUS.IndexOf(strStatus, StringComparison.OrdinalIgnoreCase) >= 0);
                }

                return limits.ToList();
            }

            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
示例#51
0
        public static object GetCPTYGroupOptions(SessionInfo sessioninfo)
        {
            try
            {
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                //Get data from database
                var counterparties = _counterpartyBusiness.GetCounterpartyAll();

                var query = counterparties.Where(t => t.ISACTIVE == true)
                                            .OrderBy(p => p.SNAME)
                                            .Select(c => new { DisplayText = c.SNAME, Value = c.ID }).ToList();

              query.Insert(0, new { DisplayText = "Default", Value = Guid.Empty });
                //Return result to jTable
                return new { Result = "OK", Options = query };
            }
            catch (Exception ex)
            {
                return new { Result = "ERROR", Message = ex.Message };
            }
        }
 public void GetByFilterTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     SessionInfo sessioninfo = null; // TODO: Initialize to an appropriate value
     string name = string.Empty; // TODO: Initialize to an appropriate value
     int startIndex = 0; // TODO: Initialize to an appropriate value
     int count = 0; // TODO: Initialize to an appropriate value
     string sorting = string.Empty; // TODO: Initialize to an appropriate value
     List<MA_COUTERPARTY> expected = null; // TODO: Initialize to an appropriate value
     List<MA_COUTERPARTY> actual;
     actual = target.GetByFilter(sessioninfo, name, startIndex, count, sorting);
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
示例#53
0
        public void CounterpartyBusinessConstructorTest()
        {
            CounterpartyBusiness target = new CounterpartyBusiness();

            Assert.Inconclusive("TODO: Implement code to verify target");
        }
 public void GetCounterpartyAllTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     List<MA_COUTERPARTY> expected = null; // TODO: Initialize to an appropriate value
     List<MA_COUTERPARTY> actual;
     actual = target.GetCounterpartyAll();
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
示例#55
0
        public List <LimitCheckModel> GetPCEReport(SessionInfo sessioninfo, string strReportDate, string strCtpy, string strLimit, string strSource, string strStatus)
        {
            try
            {
                DateTime             dteReport;
                LimitCheckBusiness   _limitBusiness        = new LimitCheckBusiness();
                DealBusiness         _dealBusiness         = new DealBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                Guid guCtpyID  = Guid.Empty;
                Guid guLimitID = Guid.Empty;

                if (String.IsNullOrEmpty(strReportDate))
                {
                    throw this.CreateException(new Exception(), "Please input report date.");
                }
                else if (!DateTime.TryParseExact(strReportDate, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReport))
                {
                    throw this.CreateException(new Exception(), "Invalid report date.");
                }
                else
                {
                    dteReport = DateTime.ParseExact(strReportDate, "dd/MM/yyyy", null);
                }

                if (Guid.TryParse(strCtpy, out guCtpyID))
                {
                    guCtpyID = Guid.Parse(strCtpy);
                }

                if (_dealBusiness.CountByProcessDate(dteReport) == 0)
                {
                    throw this.CreateException(new Exception(), "No data for selected report date.");
                }

                var limits = _limitBusiness.GetPCEByCriteria(dteReport, guCtpyID, Guid.Empty, strSource, Guid.Empty, Guid.Empty).Distinct(new LimitCheckComparer()).AsQueryable();

                //Get temp limit
                //Look for temp limit when all conditions meet
                // 1. Transaction maturity date <= Temp limit maturity date
                foreach (LimitCheckModel limit in limits)
                {
                    MA_TEMP_CTPY_LIMIT temp_limit = _counterpartyBusiness.GetActiveTempByID(sessioninfo.Process.CurrentDate, sessioninfo.Process.CurrentDate, limit.CTPY_LIMIT_ID);

                    if (temp_limit != null)
                    {
                        limit.TEMP_AMOUNT = temp_limit.AMOUNT;
                    }
                }

                //Additional filter on limit name
                if (Guid.TryParse(strLimit, out guLimitID))
                {
                    LookupBusiness _lookupBusiness = new LookupBusiness();
                    MA_LIMIT       limit           = _lookupBusiness.GetLimitAll().FirstOrDefault(t => t.ID == Guid.Parse(strLimit));

                    limits = limits.Where(t => t.LIMIT_LABEL.IndexOf(limit.LABEL, StringComparison.OrdinalIgnoreCase) >= 0);
                }

                if (strStatus != "")
                {
                    limits = limits.Where(t => t.STATUS.IndexOf(strStatus, StringComparison.OrdinalIgnoreCase) >= 0);
                }

                return(limits.ToList());
            }

            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
 public void GetCounterpartyLimitByCtpyIDTest()
 {
     CounterpartyBusiness target = new CounterpartyBusiness(); // TODO: Initialize to an appropriate value
     SessionInfo sessioninfo = null; // TODO: Initialize to an appropriate value
     Guid ID = new Guid(); // TODO: Initialize to an appropriate value
     List<MA_CTPY_LIMIT> expected = null; // TODO: Initialize to an appropriate value
     List<MA_CTPY_LIMIT> actual;
     actual = target.GetCounterpartyLimitByCtpyID(sessioninfo, ID);
     Assert.AreEqual(expected, actual);
     Assert.Inconclusive("Verify the correctness of this test method.");
 }
示例#57
0
        public List <LimitCheckModel> GetCountryReport(SessionInfo sessioninfo, string strReportDate, string strCountry, string strSource, string strStatus)
        {
            try
            {
                DateTime             dteReport;
                LimitCheckBusiness   _limitBusiness        = new LimitCheckBusiness();
                DealBusiness         _dealBusiness         = new DealBusiness();
                CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
                CountryBusiness      _countryBusiness      = new CountryBusiness();
                Guid             guCountryID = Guid.Empty;
                MA_COUNTRY_LIMIT temp_limit  = null;

                if (String.IsNullOrEmpty(strReportDate))
                {
                    throw this.CreateException(new Exception(), "Please input report date.");
                }
                else if (!DateTime.TryParseExact(strReportDate, "dd/MM/yyyy", null, DateTimeStyles.None, out dteReport))
                {
                    throw this.CreateException(new Exception(), "Invalid report date.");
                }
                else
                {
                    dteReport = DateTime.ParseExact(strReportDate, "dd/MM/yyyy", null);
                }

                if (_dealBusiness.CountByProcessDate(dteReport) == 0)
                {
                    throw this.CreateException(new Exception(), "No data for selected report date.");
                }

                if (Guid.TryParse(strCountry, out guCountryID))
                {
                    guCountryID = Guid.Parse(strCountry);
                }

                List <LimitCheckModel> sets = _limitBusiness.GetCountrySETByCriteria(dteReport, guCountryID, strSource, Guid.Empty, Guid.Empty);
                List <LimitCheckModel> pces = _limitBusiness.GetCountryPCEByCriteria(dteReport, guCountryID, strSource, Guid.Empty, Guid.Empty);

                var reports = (from report in sets.Union(pces)
                               join pce in pces on report.COUNTRY_ID equals pce.COUNTRY_ID
                               select new LimitCheckModel
                {
                    COUNTRY_LABEL = report.COUNTRY_LABEL,
                    COUNTRY_ID = report.COUNTRY_ID,
                    FLAG_CONTROL = report.FLAG_CONTROL,
                    GEN_AMOUNT = report.AMOUNT,
                    PROCESSING_DATE = report.PROCESSING_DATE,
                    EXPIRE_DATE = report.EXPIRE_DATE,
                    FLOW_DATE = report.FLOW_DATE,
                    SET_CONTRIBUTE = report.SET_CONTRIBUTE,
                    PCE_CONTRIBUTE = pce.PCE_CONTRIBUTE
                }).GroupBy(g => new
                {
                    g.COUNTRY_ID,
                    g.COUNTRY_LABEL,
                    g.FLAG_CONTROL,
                    g.GEN_AMOUNT,
                    g.PROCESSING_DATE,
                    g.EXPIRE_DATE,
                    g.FLOW_DATE,
                    g.PCE_CONTRIBUTE
                }).Select(s => new LimitCheckModel
                {
                    COUNTRY_LABEL          = s.Key.COUNTRY_LABEL,
                    COUNTRY_ID             = s.Key.COUNTRY_ID,
                    FLAG_CONTROL           = s.Key.FLAG_CONTROL,
                    GEN_AMOUNT             = s.Key.GEN_AMOUNT,
                    PROCESSING_DATE        = s.Key.PROCESSING_DATE,
                    EXPIRE_DATE            = s.Key.EXPIRE_DATE,
                    FLOW_DATE              = s.Key.FLOW_DATE,
                    PCE_CONTRIBUTE         = s.Key.PCE_CONTRIBUTE,
                    SET_CONTRIBUTE         = s.Sum(x => x.SET_CONTRIBUTE),
                    ORIGINAL_KK_CONTRIBUTE = s.Key.PCE_CONTRIBUTE + s.Sum(y => y.SET_CONTRIBUTE)
                }).ToList();

                foreach (var report in reports)
                {
                    temp_limit = _countryBusiness.GetActiveTempByCountryID(sessioninfo.Process.CurrentDate, report.FLOW_DATE, report.COUNTRY_ID);

                    if (temp_limit != null)
                    {
                        report.TEMP_AMOUNT = temp_limit.AMOUNT;
                    }
                }

                if (strStatus != "")
                {
                    reports = reports.Where(t => t.STATUS.IndexOf(strStatus, StringComparison.OrdinalIgnoreCase) >= 0).ToList();
                }

                return(reports.OrderBy(p => p.COUNTRY_LABEL).ThenBy(t => t.FLOW_DATE).ToList());
            }

            catch (DataServicesException ex)
            {
                throw this.CreateException(ex, null);
            }
        }
示例#58
0
 public static object DeleteCtpyLimitByID(SessionInfo sessioninfo, Guid ID)
 {
     try
     {
         CounterpartyBusiness _counterpartyBusiness = new CounterpartyBusiness();
         bool result = _counterpartyBusiness.DeleteCounterpartyLimitByID(sessioninfo, ID);
         return new { Result = "OK", Message = Messages.DELETED_SUCCESSFULL };
     }
     catch (Exception ex)
     {
         return new { Result = "ERROR", Message = ex.Message };
     }
 }