Esempio n. 1
0
 public void AddTransfer(TypeTransfer typeTransfer)
 {
     foreach (Func <GPSCoordinate, GPSCoordinate> c in typeTransfer.Converters)
     {
         AddConverter(c);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Bond_Rating_Summary 組成 A58ViewModel
 /// </summary>
 /// <param name="item">DataRow</param>
 /// <returns>A58ViewModel</returns>
 private A58ViewModel getA58ViewModel(Bond_Rating_Summary item)
 {
     return(new A58ViewModel()
     {
         Reference_Nbr = item.Reference_Nbr,
         Report_Date = TypeTransfer.dateTimeNToString(item.Report_Date),
         Bond_Number = item.Bond_Number,
         Lots = item.Lots,
         Origination_Date = TypeTransfer.dateTimeNToString(item.Origination_Date),
         Parm_ID = item.Parm_ID,
         Bond_Type = item.Bond_Type,
         Rating_Type = item.Rating_Type == "1" ? Rating_Type.A.GetDescription() : Rating_Type.B.GetDescription(),
         Rating_Object = item.Rating_Object,
         Rating_Org_Area = item.Rating_Org_Area,
         Rating_Selection = item.Rating_Selection == "1" ? "孰高" : "孰低",
         Grade_Adjust = TypeTransfer.intNToString(item.Grade_Adjust),
         Rating_Priority = TypeTransfer.intNToString(item.Rating_Priority),
         Processing_Date = TypeTransfer.dateTimeNToString(item.Processing_Date),
         Version = TypeTransfer.intNToString(item.Version),
         Portfolio_Name = item.Portfolio_Name,
         SMF = item.SMF,
         Issuer = item.ISSUER,
         Security_Ticker = getSecurityTicker(item.SMF, item.Bond_Number),
         RATING_AS_OF_DATE_OVERRIDE = item.Rating_Type == "1" ?
                                      TypeTransfer.dateTimeNToString(item.Origination_Date, 8) :
                                      TypeTransfer.dateTimeNToString(item.Report_Date, 8)
     });
 }
Esempio n. 3
0
        /// <summary>
        /// 递归暴力搜寻算法
        /// </summary>
        /// <param name="transferStack"></param>
        /// <param name="current"></param>
        /// <param name="target"></param>
        private bool SeekTarget(Stack <TypeTransfer> transferStack, PositionType current, PositionType target)
        {
            TypeTransfer transfer = m_transfers.FirstOrDefault(o => o.From == current && o.To == target);

            if (transfer != null)
            {
                transferStack.Push(transfer);
                return(true);
            }

            foreach (TypeTransfer t in m_transfers.Where(o => o.From == current))
            {
                // 防止产生算法回环
                if (transferStack.FirstOrDefault(o => o.From == t.To) != null)
                {
                    continue;
                }

                // 递归搜索
                transferStack.Push(t);
                if (SeekTarget(transferStack, t.To, target))
                {
                    return(true);
                }
                transferStack.Pop();
            }
            return(false);
        }
Esempio n. 4
0
        /// <summary>
        /// 修改申請單記錄檔
        /// </summary>
        /// <param name="data">修改資料</param>
        /// <param name="custodianFlag">是否為保管科</param>
        /// <param name="searchData">申請表單查詢顯示區塊ViewModel</param>
        /// <param name="userId">userId</param>
        /// <returns></returns>
        public MSGReturnModel <List <TreasuryAccessApprSearchDetailViewModel> > updateAplyNo(TreasuryAccessViewModel data, bool custodianFlag, TreasuryAccessApprSearchViewModel searchData, string userId)
        {
            MSGReturnModel <List <TreasuryAccessApprSearchDetailViewModel> > result = new MSGReturnModel <List <TreasuryAccessApprSearchDetailViewModel> >();

            result.DESCRIPTION = Ref.MessageType.already_Change.GetDescription();
            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                var updateData = db.TREA_APLY_REC.FirstOrDefault(x => x.APLY_NO == data.vAplyNo);
                if (updateData != null)
                {
                    if (updateData.LAST_UPDATE_DT > data.vLastUpdateTime)
                    {
                        return(result);
                    }
                    updateData.LAST_UPDATE_UID      = userId;
                    updateData.ACCESS_REASON        = data.vAccessReason;
                    updateData.EXPECTED_ACCESS_DATE = TypeTransfer.stringToDateTimeN(data.vExpectedAccessDate);
                    updateData.LAST_UPDATE_DT       = DateTime.Now;
                    try
                    {
                        db.SaveChanges();
                        result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();
                        result.RETURN_FLAG = true;
                        result.Datas       = GetCustodySearchDetail(searchData);
                    }
                    catch (DbUpdateException ex)
                    {
                        result.DESCRIPTION = ex.exceptionMessage();
                    }
                }
            }
            return(result);
        }
Esempio n. 5
0
        /// <summary>
        /// get Moody_Monthly_PD_Info(A81)
        /// </summary>
        /// <returns></returns>
        public Tuple <bool, List <A81ViewModel> > GetA81()
        {
            using (IFRS9DBEntities db = new IFRS9DBEntities())
            {
                if (db.Moody_Monthly_PD_Info.Any())
                {
                    List <A81ViewModel> data = (from item in db.Moody_Monthly_PD_Info.AsNoTracking()
                                                .AsEnumerable()
                                                select new A81ViewModel() //轉型 Datetime
                    {
                        Trailing_12m_Ending =
                            item.Trailing_12m_Ending.HasValue ?
                            item.Trailing_12m_Ending.Value.ToString("yyyy/MM/dd") : string.Empty,
                        Actual_Allcorp = TypeTransfer.doubleNToString(item.Actual_Allcorp),
                        Actual_SG = TypeTransfer.doubleNToString(item.Actual_SG),
                        Baseline_forecast_Allcorp = TypeTransfer.doubleNToString(item.Baseline_forecast_Allcorp),
                        Baseline_forecast_SG = TypeTransfer.doubleNToString(item.Baseline_forecast_SG),
                        Pessimistic_Forecast_Allcorp = TypeTransfer.doubleNToString(item.Pessimistic_Forecast_Allcorp),
                        Pessimistic_Forecast_SG = TypeTransfer.doubleNToString(item.Pessimistic_Forecast_SG),
                        Data_Year = item.Data_Year
                    }).ToList();
                    return(new Tuple <bool, List <A81ViewModel> >(true, data));
                }
            }

            return(new Tuple <bool, List <A81ViewModel> >(false, new List <A81ViewModel>()));
        }
Esempio n. 6
0
        public JsonResult TransferConfirmC10(string reportDate)
        {
            #region 回傳C10有無相同reportdate的資料
            MSGReturnModel result = new MSGReturnModel();
            result.RETURN_FLAG = false;
            int      version  = 0;
            DateTime dt       = TypeTransfer.stringToDateTime(reportDate);
            string   filename = Table_Type.C10.ToString();


            var queryData = C0Repository.GetC10(dt, version);


            if (common.checkTransferCheck(filename, "C10", dt, version) && queryData != null && queryData.Count > 0)
            {
                result.RETURN_FLAG = true;
                result.DESCRIPTION = Message_Type.Uplaod_data_Overwrite_File.GetDescription();
            }
            else
            {
                result.RETURN_FLAG = false;
            }
            return(Json(result));

            #endregion 回傳C10有無相同reportdate的資料
        }
Esempio n. 7
0
 /// <summary>
 /// datarow 組成 Exhibit29Model
 /// </summary>
 /// <param name="item">DataRow</param>
 /// <returns>Exhibit29Model</returns>
 private Exhibit29Model getExhibit29Model(DataRow item)
 {
     return(new Exhibit29Model()
     {
         From_To = TypeTransfer.objToString(item[0]),
         Aaa = TypeTransfer.objToString(item[1]),
         Aa1 = TypeTransfer.objToString(item[2]),
         Aa2 = TypeTransfer.objToString(item[3]),
         Aa3 = TypeTransfer.objToString(item[4]),
         A1 = TypeTransfer.objToString(item[5]),
         A2 = TypeTransfer.objToString(item[6]),
         A3 = TypeTransfer.objToString(item[7]),
         Baa1 = TypeTransfer.objToString(item[8]),
         Baa2 = TypeTransfer.objToString(item[9]),
         Baa3 = TypeTransfer.objToString(item[10]),
         Ba1 = TypeTransfer.objToString(item[11]),
         Ba2 = TypeTransfer.objToString(item[12]),
         Ba3 = TypeTransfer.objToString(item[13]),
         B1 = TypeTransfer.objToString(item[14]),
         B2 = TypeTransfer.objToString(item[15]),
         B3 = TypeTransfer.objToString(item[16]),
         Caa1 = TypeTransfer.objToString(item[17]),
         Caa2 = TypeTransfer.objToString(item[18]),
         Caa3 = TypeTransfer.objToString(item[19]),
         Ca_C = TypeTransfer.objToString(item[20]),
         WR = TypeTransfer.objToString(item[21]),
         Default = TypeTransfer.objToString(item[22]),
     });
 }
Esempio n. 8
0
        public override DataSet GetData(List <reportParm> parms)
        {
            var resultsTable = new DataSet();

            List <BillReportModel> reportDatas = new List <BillReportModel>();

            var    _Parameters = new List <SqlParameter>();
            string aply_No     = parms.Where(x => x.key == "aply_No").FirstOrDefault()?.value ?? string.Empty;

            SetDetail(aply_No);

            var Bill           = new Bill();
            var billController = new BillController();

            var _data  = (List <BillViewModel>)Bill.GetTempData(aply_No);
            var _data2 = (List <BillViewModel>)Bill.GetDayData(null, null, aply_No);

            var tempData = billController.SetBillViewRowNum(_data);
            var dayData  = billController.SetBillTakeOutViewModelGroup(_data2);

            var checkTypes = new List <SYS_CODE>();

            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                checkTypes = db.SYS_CODE.AsNoTracking()
                             .Where(x => x.CODE_TYPE == "CHECK_TYPE").ToList();
            }

            reportDatas.AddRange(tempData.Select(x => new BillReportModel()
            {
                ROW            = x.vRowNum,
                TYPE           = "1",
                ISSUING_BANK   = x.vIssuingBank,
                CHECK_TYPE     = checkTypes.FirstOrDefault(y => y.CODE == x.vCheckType)?.CODE_VALUE ?? x.vCheckType,
                CHECK_NO_TRACK = x.vCheckNoTrack,
                CHECK_NO_B     = x.vCheckNoB,
                CHECK_NO_E     = x.vCheckNoE,
                Total          = TypeTransfer.stringToInt(x.vCheckTotalNum) == 0 ? TypeTransfer.stringToInt(x.vTakeOutTotalNum) : TypeTransfer.stringToInt(x.vCheckTotalNum),
                ReMainTotalNum = TypeTransfer.stringToInt(x.vReMainTotalNum)
            }));
            reportDatas.AddRange(dayData.Select(x => new BillReportModel()
            {
                ROW            = x.vRowNum,
                TYPE           = "2",
                Status         = x.vStatus,
                ISSUING_BANK   = x.vIssuingBank,
                CHECK_TYPE     = checkTypes.FirstOrDefault(y => y.CODE == x.vCheckType)?.CODE_VALUE ?? x.vCheckType,
                CHECK_NO_TRACK = x.vCheckNoTrack,
                CHECK_NO_B     = x.vCheckNoB,
                CHECK_NO_E     = x.vCheckNoE,
                Total          = TypeTransfer.stringToInt(x.vCheckTotalNum),
                ReMainTotalNum = TypeTransfer.stringToInt(x.vReMainTotalNum)
            }));

            resultsTable.Tables.Add(reportDatas.ToDataTable());

            SetExtensionParm();
            return(resultsTable);
        }
Esempio n. 9
0
        /// <summary>
        /// 查詢
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List <SpecifiedTimeTreasurySearchDetailViewModel> GetSearchDetail(SpecifiedTimeTreasurySearchViewModel data)
        {
            List <SpecifiedTimeTreasurySearchDetailViewModel> result = new List <SpecifiedTimeTreasurySearchDetailViewModel>();

            if (!data.vAPLY_DT_S.Any() || !data.vAPLY_DT_E.Any()) // 無查詢日期
            {
                return(result);
            }
            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                DateTime?_vAPLY_DT_S = TypeTransfer.stringToDateTimeN(data.vAPLY_DT_S);
                DateTime?_vAPLY_DT_E = TypeTransfer.stringToDateTimeN(data.vAPLY_DT_E).DateToLatestTime();

                List <string> notShowList = new List <string>();
                notShowList.Add("D1001");
                notShowList.Add("D1002");
                notShowList.Add("D1003");

                var _data = db.TREA_OPEN_REC.AsNoTracking()
                            .Where(x => x.OPEN_TREA_TYPE == "2")                                                                    //開庫類型: 2.指定時間開庫
                            .Where(x => x.CREATE_DT >= _vAPLY_DT_S, _vAPLY_DT_S != null)                                            //申請日期(起)
                            .Where(x => x.CREATE_DT <= _vAPLY_DT_E, _vAPLY_DT_E != null)                                            //申請日期(迄)
                            .Where(x => x.TREA_REGISTER_ID == data.vTREA_REGISTER_ID, !data.vTREA_REGISTER_ID.IsNullOrWhiteSpace()) //工作單號
                            .OrderBy(x => x.CREATE_DT);

                var _item = db.TREA_ITEM.AsNoTracking()
                            .Select(x => new { x.ITEM_ID, x.ITEM_DESC }).ToList();

                var _query =
                    _data.Join(db.SYS_CODE.AsNoTracking().Where(x => x.CODE_TYPE == "APPR_STATUS"),
                               x => x.APPR_STATUS, z => z.CODE, (x, z) => new { open = x, sysCode = z })
                    .AsEnumerable()
                    .Select((x, index) => new SpecifiedTimeTreasurySearchDetailViewModel()
                {
                    vINDEX            = (index + 1).ToString(),
                    vCREATE_DT        = x.open.CREATE_DT?.ToString("yyyy/MM/dd"),
                    vTREA_REGISTER_ID = x.open.TREA_REGISTER_ID,
                    vAPLY_STATUS      = x.sysCode.CODE_VALUE,
                    vOPEN_TREA_REASON = "取" +
                                        string.Join("及", x.open.OPEN_TREA_REASON.Split(';').ToList()
                                                    .Where(z => !notShowList.Contains(z))
                                                    .Select(z => _item.FirstOrDefault(y => y.ITEM_ID == z)?.ITEM_DESC)
                                                    .Where(z => z != null)
                                                    ),
                    vOPEN_TREA_TIME      = x.open.OPEN_TREA_TIME,
                    vMEMO                = x.open.MEMO,
                    vOPEN_TREA_DATE      = x.open.OPEN_TREA_DATE.ToString("yyyy/MM/dd"),
                    vOPEN_TREA_REASON_ID = x.open.OPEN_TREA_REASON,
                    vEXEC_TIME_B         = x.open.EXEC_TIME_B,
                    vEXEC_TIME_E         = x.open.EXEC_TIME_E,
                    vCREATE_UID          = x.open.CREATE_UID,
                    vAPLY_STATUS_ID      = x.open.APPR_STATUS,
                    vAPPR_UID            = x.open.APPR_UID
                });

                result.AddRange(_query);
            }
            return(result);
        }
Esempio n. 10
0
        public ActionResult DeleteConfirmed(int id)
        {
            TypeTransfer typeTransfer = db.TypeTransfer.Find(id);

            db.TypeTransfer.Remove(typeTransfer);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 11
0
        public List <IViewModel> getViewModel <T>(IEnumerable <T> dbModel, Table_Type type)
            where T : class
        {
            List <IViewModel> datas = new List <IViewModel>();
            var obj = FactoryRegistry.GetInstance(type);

            if (dbModel == null || obj == null)
            {
                return(datas);
            }
            var viewpros = obj.GetType().GetProperties();

            if (!dbModel.Any())
            {
                return(datas);
            }
            var dbpros = dbModel.First().GetType().GetProperties();

            dbModel.ToList().ForEach(db => {
                obj = FactoryRegistry.GetInstance(type);
                foreach (var item in viewpros)
                {
                    var p = dbpros.FirstOrDefault(x => x.Name.ToUpper() == item.Name.ToUpper());
                    if (p != null)
                    {
                        var _pt = p.PropertyType;
                        if (_pt == typeof(string))
                        {
                            item.SetValue(obj, p.GetValue(db));
                        }
                        else if (_pt == typeof(DateTime) || _pt == typeof(Nullable <DateTime>))
                        {
                            if (p.GetValue(db) != null)
                            {
                                item.SetValue(obj, TypeTransfer.objDateToString(p.GetValue(db)));
                            }
                            else
                            {
                                item.SetValue(obj, string.Empty);
                            }
                        }
                        else
                        {
                            if (p.GetValue(db) != null)
                            {
                                item.SetValue(obj, p.GetValue(db).ToString());
                            }
                            else
                            {
                                item.SetValue(obj, string.Empty);
                            }
                        }
                    }
                }
                datas.Add(obj);
            });
            return(datas);
        }
Esempio n. 12
0
        public List <AlreadyConfirmedSearchDetailViewModel> GetSearchDetail(AlreadyConfirmedSearchViewModel searchData)
        {
            List <AlreadyConfirmedSearchDetailViewModel> result = new List <AlreadyConfirmedSearchDetailViewModel>();

            if (searchData.vDT_From.IsNullOrWhiteSpace() || searchData.vDT_To.IsNullOrWhiteSpace()) // 無查詢日期
            {
                return(result);
            }

            using (TreasuryDBEntities db = new TreasuryDBEntities())
            {
                DateTime?     _vDT_From     = TypeTransfer.stringToDateTimeN(searchData.vDT_From);
                DateTime?     _vDT_To       = TypeTransfer.stringToDateTimeN(searchData.vDT_To).DateToLatestTime();
                List <string> register_List = new List <string>();

                var emps                     = GetEmps();
                var _TREA_OPEN_REC           = db.TREA_OPEN_REC.AsNoTracking();
                var _TREA_APLY_REC           = db.TREA_APLY_REC.AsNoTracking().AsQueryable();
                var _SYS_CODE_OPEN_TREA_TYPE = db.SYS_CODE.AsNoTracking().Where(x => x.CODE_TYPE == "OPEN_TREA_TYPE").ToList();
                var _SYS_CODE_ACCESS_TYPE    = db.SYS_CODE.AsNoTracking().Where(x => x.CODE_TYPE == "ACCESS_TYPE").ToList();
                var _TREA_ITEM               = db.TREA_ITEM.AsNoTracking();
                var _ITEM_SEAL               = db.ITEM_SEAL.AsNoTracking();
                var _OTHER_ITEM_APLY         = db.OTHER_ITEM_APLY.AsNoTracking();

                if (_TREA_OPEN_REC.Where(x => x.OPEN_TREA_TYPE == searchData.vOPEN_TREA_TYPE, !searchData.vOPEN_TREA_TYPE.IsNullOrWhiteSpace()).ToList().Any())
                {
                    register_List.AddRange(_TREA_OPEN_REC.Where(x => x.OPEN_TREA_TYPE == searchData.vOPEN_TREA_TYPE, !searchData.vOPEN_TREA_TYPE.IsNullOrWhiteSpace()).Select(x => x.TREA_REGISTER_ID).ToList());
                }

                _TREA_APLY_REC = _TREA_APLY_REC
                                 .Where(x => x.CONFIRM_DT >= _vDT_From, _vDT_From != null)
                                 .Where(x => x.CONFIRM_DT <= _vDT_To, _vDT_To != null)
                                 .Where(x => register_List.Contains(x.TREA_REGISTER_ID), register_List.Any())
                                 .Where(x => x.TREA_REGISTER_ID == searchData.vTREA_REGISTER_ID, !searchData.vTREA_REGISTER_ID.IsNullOrWhiteSpace())
                                 .Where(x => x.CONFIRM_UID == searchData.vConfirm_Id, !searchData.vConfirm_Id.IsNullOrWhiteSpace())
                                 .Where(x => x.CONFIRM_UID != null && x.CONFIRM_UID != "");
                //.Where(x => !x.CONFIRM_UID.IsNullOrWhiteSpace());

                result = _TREA_APLY_REC.AsEnumerable()
                         .Select(x => new AlreadyConfirmedSearchDetailViewModel()
                {
                    vACTUAL_PUT_TIME  = _TREA_OPEN_REC.FirstOrDefault(y => y.TREA_REGISTER_ID == x.TREA_REGISTER_ID)?.ACTUAL_PUT_TIME.dateTimeToStr(),
                    vTREA_REGISTER_ID = x.TREA_REGISTER_ID,
                    vOPEN_TREA_TYPE   = _SYS_CODE_OPEN_TREA_TYPE.FirstOrDefault(y => y.CODE == _TREA_OPEN_REC.FirstOrDefault(z => z.TREA_REGISTER_ID == x.TREA_REGISTER_ID)?.OPEN_TREA_TYPE)?.CODE_VALUE,
                    //vConfirm_Id = string.Format("{0}-{1}", !x.TREA_REGISTER_ID.IsNullOrWhiteSpace() ? x.ACTUAL_ACCESS_UID : x.CONFIRM_UID, !x.TREA_REGISTER_ID.IsNullOrWhiteSpace() ? GetUserInfo(x.ACTUAL_ACCESS_UID).EMP_Name : GetUserInfo(x.CONFIRM_UID).EMP_Name),
                    vConfirm_Id    = $@"{x.CONFIRM_UID}-{emps.FirstOrDefault(y => y.USR_ID == x.CONFIRM_UID)?.EMP_NAME?.Trim()}",
                    vITEM_DESC     = _TREA_ITEM.FirstOrDefault(y => y.ITEM_ID == x.ITEM_ID)?.ITEM_DESC,
                    vSEAL_DESC     = _TREA_ITEM.FirstOrDefault(y => y.ITEM_ID == x.ITEM_ID)?.ITEM_OP_TYPE == "2" ? _ITEM_SEAL.FirstOrDefault(z => z.ITEM_ID == _OTHER_ITEM_APLY.FirstOrDefault(a => a.APLY_NO == x.APLY_NO).ITEM_ID)?.SEAL_DESC: null,
                    vACCESS_TYPE   = _TREA_ITEM.FirstOrDefault(y => y.ITEM_ID == x.ITEM_ID)?.ITEM_OP_TYPE == "2" ? _SYS_CODE_ACCESS_TYPE.FirstOrDefault(z => z.CODE == x.ACCESS_TYPE)?.CODE_VALUE : null,
                    vAPLY_NO       = x.APLY_NO,
                    vACCESS_REASON = x.ACCESS_REASON,
                    hITEM_ID       = x.ITEM_ID,
                    hITEM_OP_TYPE  = _TREA_ITEM.FirstOrDefault(y => y.ITEM_ID == x.ITEM_ID)?.ITEM_OP_TYPE
                }).ToList();
            }
            return(result);
        }
Esempio n. 13
0
        /// <summary>
        /// Save  Moody_Monthly_PD_Info(A71)
        /// </summary>
        /// <param name="dataModel"></param>
        /// <returns></returns>
        public MSGReturnModel saveA71(List <Exhibit29Model> dataModel)
        {
            MSGReturnModel result = new MSGReturnModel();

            try
            {
                if (db.Moody_Tm_YYYY.Any())
                {
                    db.Moody_Tm_YYYY.RemoveRange(db.Moody_Tm_YYYY.ToList()); //資料全刪除
                }
                int id = 1;
                foreach (var item in dataModel)
                {
                    db.Moody_Tm_YYYY.Add(
                        new Moody_Tm_YYYY()
                    {
                        Id            = id,
                        From_To       = item.From_To,
                        Aaa           = TypeTransfer.stringToDoubleN(item.Aaa),
                        Aa1           = TypeTransfer.stringToDoubleN(item.Aa1),
                        Aa2           = TypeTransfer.stringToDoubleN(item.Aa2),
                        Aa3           = TypeTransfer.stringToDoubleN(item.Aa3),
                        A1            = TypeTransfer.stringToDoubleN(item.A1),
                        A2            = TypeTransfer.stringToDoubleN(item.A2),
                        A3            = TypeTransfer.stringToDoubleN(item.A3),
                        Baa1          = TypeTransfer.stringToDoubleN(item.Baa1),
                        Baa2          = TypeTransfer.stringToDoubleN(item.Baa2),
                        Baa3          = TypeTransfer.stringToDoubleN(item.Baa3),
                        Ba1           = TypeTransfer.stringToDoubleN(item.Ba1),
                        Ba2           = TypeTransfer.stringToDoubleN(item.Ba2),
                        Ba3           = TypeTransfer.stringToDoubleN(item.Ba3),
                        B1            = TypeTransfer.stringToDoubleN(item.B1),
                        B2            = TypeTransfer.stringToDoubleN(item.B2),
                        B3            = TypeTransfer.stringToDoubleN(item.B3),
                        Caa1          = TypeTransfer.stringToDoubleN(item.Caa1),
                        Caa2          = TypeTransfer.stringToDoubleN(item.Caa2),
                        Caa3          = TypeTransfer.stringToDoubleN(item.Caa3),
                        Ca_C          = TypeTransfer.stringToDoubleN(item.Ca_C),
                        WR            = TypeTransfer.stringToDoubleN(item.WR),
                        Default_Value = TypeTransfer.stringToDoubleN(item.Default),
                    });
                    id += 1;
                }
                db.SaveChanges(); //Save
                result.RETURN_FLAG = true;
                result.DESCRIPTION = Message_Type.save_Success.GetDescription(Table_Type.A71.ToString());
            }
            catch (DbUpdateException ex)
            {
                result.RETURN_FLAG = false;
                result.DESCRIPTION = Message_Type
                                     .save_Fail.GetDescription(Table_Type.A71.ToString(),
                                                               $"message: {ex.Message}" +
                                                               $", inner message {ex.InnerException?.InnerException?.Message}");
            }
            return(result);
        }
Esempio n. 14
0
        public JsonResult UpdateDbData(CDCItemImpViewModel model)
        {
            MSGReturnModel <bool> result = new MSGReturnModel <bool>();

            result.RETURN_FLAG = false;
            result.DESCRIPTION = Ref.MessageType.login_Time_Out.GetDescription();
            if (Cache.IsSet(CacheList.CDCItemImpData))
            {
                var dbData         = (List <CDCItemImpViewModel>)Cache.Get(CacheList.CDCItemImpData);
                var updateTempData = dbData.FirstOrDefault(x => x.vItemId == model.vItemId);
                if (updateTempData != null)
                {
                    var _vItemImp_Name_AFT = model.vItemImp_Name.CheckAFT(updateTempData.vItemImp_Name);
                    if (_vItemImp_Name_AFT.Item2)
                    {
                        updateTempData.vItemImp_Name_AFT = _vItemImp_Name_AFT.Item1;
                    }
                    var _vItemImp_Remaining_AFT = TypeTransfer.intNToString(model.vItemImp_Remaining).CheckAFT(TypeTransfer.intNToString(updateTempData.vItemImp_Remaining));
                    if (_vItemImp_Remaining_AFT.Item2)
                    {
                        updateTempData.vItemImp_Remaining_AFT = TypeTransfer.stringToIntN(_vItemImp_Remaining_AFT.Item1);
                    }
                    var _vItemImp_Amount_AFT = TypeTransfer.decimalNToString(model.vItemImp_Amount).CheckAFT(TypeTransfer.decimalNToString(updateTempData.vItemImp_Amount));
                    if (_vItemImp_Amount_AFT.Item2)
                    {
                        updateTempData.vItemImp_Amount_AFT = TypeTransfer.stringToDecimal(_vItemImp_Amount_AFT.Item1);
                    }
                    var _vItemImp_Expected_Date_AFT = model.vItemImp_Expected_Date.CheckAFT(updateTempData.vItemImp_Expected_Date);
                    if (_vItemImp_Expected_Date_AFT.Item2)
                    {
                        updateTempData.vItemImp_Expected_Date_AFT = _vItemImp_Expected_Date_AFT.Item1;
                    }
                    var _vItemImp_Description_AFT = model.vItemImp_Description.CheckAFT(updateTempData.vItemImp_Description);
                    if (_vItemImp_Description_AFT.Item2)
                    {
                        updateTempData.vItemImp_Description_AFT = _vItemImp_Description_AFT.Item1;
                    }
                    var _vItemImp_MEMO_AFT = model.vItemImp_MEMO.CheckAFT(updateTempData.vItemImp_MEMO);
                    if (_vItemImp_MEMO_AFT.Item2)
                    {
                        updateTempData.vItemImp_MEMO_AFT = _vItemImp_MEMO_AFT.Item1;
                    }
                    updateTempData.vAFTFlag = _vItemImp_Name_AFT.Item2 || _vItemImp_Remaining_AFT.Item2 || _vItemImp_Amount_AFT.Item2 || _vItemImp_Expected_Date_AFT.Item2 || _vItemImp_Description_AFT.Item2 || _vItemImp_MEMO_AFT.Item2;
                    Cache.Invalidate(CacheList.CDCItemImpData);
                    Cache.Set(CacheList.CDCItemImpData, dbData);
                    result.Datas       = dbData.Any(x => x.vAFTFlag);
                    result.RETURN_FLAG = true;
                    result.DESCRIPTION = Ref.MessageType.update_Success.GetDescription();
                }
                else
                {
                    result.RETURN_FLAG = false;
                    result.DESCRIPTION = Ref.MessageType.update_Fail.GetDescription();
                }
            }
            return(Json(result));
        }
Esempio n. 15
0
 private A63ViewModel getA63Models(DataRow item, string Data_Year)
 {
     return(new A63ViewModel()
     {
         Data_Year = Data_Year,
         Lien_Position = TypeTransfer.objToString(item[0]),
         Recovery_Rate = TypeTransfer.objToString(item[3]),
         LGD = (1 - TypeTransfer.objToDouble(item[3])).ToString()
     });
 }
 /// <summary>
 /// Db 組成 D05ViewModel
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 private D05ViewModel DbToD05ViewModel(Group_Product_Code_Mapping data)
 {
     return(new D05ViewModel()
     {
         Group_Product_Code = data.Group_Product_Code,
         Group_Product = data.Group_Product.Group_Product_Name,
         Product_Code = data.Product_Code,
         Processing_Date = TypeTransfer.dateTimeNToString(data.Processing_Date)
     });
 }
Esempio n. 17
0
 public ActionResult Edit([Bind(Include = "IdTypeTransfer,DescType")] TypeTransfer typeTransfer)
 {
     if (ModelState.IsValid)
     {
         db.Entry(typeTransfer).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(typeTransfer));
 }
Esempio n. 18
0
        /// <summary>
        /// 共用存檔 申請單紀錄檔 回傳參數1 (APLY_NO) 回傳參數2 (log訊息)
        /// </summary>
        /// <param name="db">Entity</param>
        /// <param name="taData">viewModel</param>
        /// <param name="logStr">紀錄訊息</param>
        /// <param name="dt">修改時間</param>
        /// <returns></returns>
        protected Tuple <string, string> SaveTREA_APLY_REC(TreasuryDBEntities db, TreasuryAccessViewModel taData, string logStr, DateTime dt)
        {
            //取得流水號
            SysSeqDao sysSeqDao = new SysSeqDao();
            String    qPreCode  = DateUtil.getCurChtDateTime().Split(' ')[0];
            var       cId       = sysSeqDao.qrySeqNo("G6", qPreCode).ToString().PadLeft(3, '0');

            if (logStr.IsNullOrWhiteSpace())
            {
                logStr = string.Empty;
            }

            #region 申請單紀錄檔
            var _TAR = new TREA_APLY_REC()
            {
                APLY_NO              = $@"G6{qPreCode}{cId}",                                      //申請單號 G6+系統日期YYYMMDD(民國年)+3碼流水號
                APLY_FROM            = Ref.AccessProjectStartupType.M.ToString(),                  //人工
                ITEM_ID              = taData.vItem,                                               //申請項目
                ACCESS_TYPE          = taData.vAccessType,                                         //存入(P) or 取出(G)
                ACCESS_REASON        = taData.vAccessReason,                                       //申請原因
                APLY_STATUS          = Ref.AccessProjectFormStatus.A01.ToString(),                 //表單申請
                EXPECTED_ACCESS_DATE = TypeTransfer.stringToDateTimeN(taData.vExpectedAccessDate), //預計存取日期
                APLY_UNIT            = taData.vAplyUnit,                                           //申請單位
                APLY_UID             = taData.vAplyUid,                                            //申請人
                APLY_DT              = dt,
                CREATE_UNIT          = taData.vCreateUnit,                                         //新增單位
                CREATE_UID           = taData.vCreateUid,                                          //新增人
                CREATE_DT            = dt,
                LAST_UPDATE_UID      = taData.vCreateUid,
                LAST_UPDATE_DT       = dt
            };
            if (taData.vAplyUid != taData.vCreateUid) //當申請人不是新增人(代表為保管單位代申請)
            {
                _TAR.CUSTODY_UID = taData.vCreateUid; //保管單位直接帶 新增人
                _TAR.CUSTODY_DT  = dt;
            }
            logStr += _TAR.modelToString(logStr);
            db.TREA_APLY_REC.Add(_TAR);
            #endregion

            #region 申請單歷程檔
            var _ARH = new APLY_REC_HIS()
            {
                APLY_NO     = _TAR.APLY_NO,
                APLY_STATUS = _TAR.APLY_STATUS,
                PROC_DT     = dt,
                PROC_UID    = _TAR.CREATE_UID
            };
            logStr += _ARH.modelToString(logStr);
            db.APLY_REC_HIS.Add(_ARH);
            #endregion

            return(new Tuple <string, string>(_TAR.APLY_NO, logStr));
        }
Esempio n. 19
0
        /// <exception cref="ArgumentException">Dupliated Converter.</exception>
        internal void Register(PositionType from, PositionType to, Func <GPSCoordinate, GPSCoordinate> converter)
        {
            TypeTransfer transfer = new TypeTransfer(from, to);

            transfer.AddConverter(converter);
            if (m_transfers.Contains(transfer))
            {
                throw new ArgumentException(string.Format("From:{0} To:{1} Is Already Exists!", from, to));
            }
            m_transfers.Add(transfer);
        }
Esempio n. 20
0
        public ActionResult Create([Bind(Include = "IdTypeTransfer,DescType")] TypeTransfer typeTransfer)
        {
            if (ModelState.IsValid)
            {
                db.TypeTransfer.Add(typeTransfer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(typeTransfer));
        }
Esempio n. 21
0
        /// <summary>
        /// 新增,刪除,修改 A96 最後交易日
        /// </summary>
        /// <param name="data"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public MSGReturnModel saveA96Trade(A96TradeViewModel data, Action_Type type)
        {
            MSGReturnModel result = new MSGReturnModel();

            result.RETURN_FLAG = false;
            using (IFRS9DBEntities db = new IFRS9DBEntities())
            {
                var reportDate = TypeTransfer.stringToDateTime(data.Report_Date);
                if (type == Action_Type.Add)
                {
                    db.Bond_Spread_Trade_Info.Add(
                        new Bond_Spread_Trade_Info()
                    {
                        Report_Date     = reportDate,
                        Last_Date       = TypeTransfer.stringToDateTime(data.Last_Date),
                        Create_User     = _UserInfo._user,
                        Create_Date     = _UserInfo._date,
                        Create_Time     = _UserInfo._time,
                        LastUpdate_User = _UserInfo._user,
                        LastUpdate_Date = _UserInfo._date,
                        LastUpdate_Time = _UserInfo._time
                    });
                    result.DESCRIPTION = Message_Type.save_Success.GetDescription();
                }
                else if (type == Action_Type.Dele)
                {
                    db.Bond_Spread_Trade_Info.Remove(db.Bond_Spread_Trade_Info.First(x => x.Report_Date == reportDate));
                    result.DESCRIPTION = Message_Type.delete_Success.GetDescription();
                }
                else if (type == Action_Type.Edit)
                {
                    var _trade = db.Bond_Spread_Trade_Info.FirstOrDefault(x => x.Report_Date == reportDate);
                    if (_trade != null)
                    {
                        _trade.Last_Date       = TypeTransfer.stringToDateTime(data.Last_Date);
                        _trade.LastUpdate_User = _UserInfo._user;
                        _trade.LastUpdate_Date = _UserInfo._date;
                        _trade.LastUpdate_Time = _UserInfo._time;
                    }
                    result.DESCRIPTION = Message_Type.save_Success.GetDescription();
                }
                try
                {
                    db.SaveChanges();
                    result.RETURN_FLAG = true;
                }
                catch (Exception ex) {
                    result.DESCRIPTION = ex.exceptionMessage();
                }
            }

            return(result);
        }
Esempio n. 22
0
        /// <summary>
        /// 把Excel 資料轉換成 Exhibit7Model
        /// </summary>
        /// <param name="pathType">string</param>
        /// <param name="stream">Stream</param>
        /// <returns>Exhibit7Model</returns>
        public List <Exhibit7Model> getExcel(string pathType, Stream stream)
        {
            DataSet resultData             = new DataSet();
            List <Exhibit7Model> dataModel = new List <Exhibit7Model>();

            try
            {
                IExcelDataReader reader = null;
                switch (pathType) //判斷型別
                {
                case "xls":
                    reader = ExcelReaderFactory.CreateBinaryReader(stream);
                    break;

                case "xlsx":
                    reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                    break;
                }
                reader.IsFirstRowAsColumnNames = true;
                resultData = reader.AsDataSet();
                reader.Close();

                if (resultData.Tables[0].Rows.Count > 5) //判斷有無資料
                {
                    string Data_Year = resultData.Tables[0].Rows[2][3].ToString();
                    dataModel = (from q in resultData.Tables[0].AsEnumerable()
                                 .Skip(3).Take(9)
                                 select getExhibit7Models(q, Data_Year)).ToList();
                    //skip(4) 為排除Excel 前4行(參數可調)
                    if (dataModel.Count() == 9)
                    {
                        //add Sr. Secured Bond &&  (Recovery_Rate & LGD = (1st Lien Bond + 2nd Lien Bond )/2)
                        dataModel.Add(
                            new Exhibit7Model()
                        {
                            Data_Year     = Data_Year,
                            Lien_Position = "Sr. Secured Bond",
                            Recovery_Rate =
                                ((TypeTransfer.stringToDouble(dataModel[3].Recovery_Rate)
                                  +
                                  TypeTransfer.stringToDouble(dataModel[4].Recovery_Rate)) / 2).ToString(),
                            LGD =
                                ((TypeTransfer.stringToDouble(dataModel[3].LGD)
                                  +
                                  TypeTransfer.stringToDouble(dataModel[4].LGD)) / 2).ToString(),
                        });
                    }
                }
            }
            catch
            { }
            return(dataModel);
        }
Esempio n. 23
0
 /// <summary>
 /// datarow 組成 Exhibit7Model
 /// </summary>
 /// <param name="item">DataRow</param>
 /// <returns>Exhibit7Model</returns>
 private Exhibit7Model getExhibit7Models(DataRow item, string Data_Year)
 {
     return(new Exhibit7Model()
     {
         Data_Year = Data_Year,
         Lien_Position = TypeTransfer.objToString(item[0]),
         Recovery_Rate = TypeTransfer.objToString(item[3]),
         LGD = (1 - TypeTransfer.objToDouble(item[3])).ToString()
               //Recovery_Rate = string.Format("{0}%", (Recovery_Rate * 100).ToString()),
               //LGD = string.Format("{0}%", (LGD * 100).ToString())
     });
 }
Esempio n. 24
0
        /// <summary>
        /// get A58 Data
        /// </summary>
        /// <param name="datepicker">ReportDate</param>
        /// <param name="sType">Rating_Type</param>
        /// <param name="from">Origination_Date start</param>
        /// <param name="to">Origination_Date to</param>
        /// <param name="bondNumber">bondNumber</param>
        /// <param name="version">version</param>
        /// <param name="search">全部or缺漏</param>
        /// <returns></returns>
        public Tuple <bool, List <A58ViewModel> > GetA58(
            string datepicker,
            string sType,
            string from,
            string to,
            string bondNumber,
            string version,
            string search)
        {
            DateTime?dp  = TypeTransfer.stringToDateTimeN(datepicker);
            DateTime?df  = TypeTransfer.stringToDateTimeN(from);
            DateTime?dt  = TypeTransfer.stringToDateTimeN(to);
            int      ver = 0;

            Int32.TryParse(version.Trim(), out ver);
            var data = db.Bond_Rating_Summary.AsQueryable();

            if (dp.HasValue)
            {
                data = data.Where(x => x.Report_Date != null &&
                                  x.Report_Date == dp.Value &&
                                  x.Version != 0 &&
                                  x.Version == ver);
            }
            if (df.HasValue && dt.HasValue)
            {
                data = data.Where(x => x.Origination_Date != null &&
                                  x.Origination_Date >= df &&
                                  x.Origination_Date <= dt);
            }
            if (!sType.IsNullOrWhiteSpace())
            {
                data = data.Where(x => x.Rating_Type == sType);
            }
            if (!bondNumber.IsNullOrWhiteSpace())
            {
                data = data.Where(x => x.Bond_Number == bondNumber.Trim());
            }
            if ("Miss".Equals(search))
            {
                data = data.Where(x => x.Grade_Adjust == null);
            }
            if (data.Any())
            {
                return(new Tuple <bool, List <A58ViewModel> >(true,
                                                              data.AsEnumerable().Select(x => { return getA58ViewModel(x); }).ToList()));
            }
            else
            {
                return(new Tuple <bool, List <A58ViewModel> >(false, new List <A58ViewModel>()));
            }
        }
Esempio n. 25
0
        public JsonResult A52Aduit(string ID, string Status, string Auditor_Reply)
        {
            MSGReturnModel result = new MSGReturnModel();

            result = A5Repository.A52Audit(TypeTransfer.stringToIntN(ID), Status, Auditor_Reply);
            if (result.RETURN_FLAG)
            {
                var queryResult = A5Repository.getA52("All", "All", "All", "All", null);
                Cache.Invalidate(CacheList.A52AuditDbfileData);             //清除
                Cache.Set(CacheList.A52AuditDbfileData, queryResult.Item2); //把資料存到 Cache
            }
            return(Json(result));
        }
Esempio n. 26
0
        /// <summary>
        /// save A62
        /// </summary>
        /// <param name="dataModel">Exhibit7Model</param>
        /// <returns></returns>
        public MSGReturnModel saveA62(List <Exhibit7Model> dataModel)
        {
            MSGReturnModel result = new MSGReturnModel();

            if (!dataModel.Any())
            {
                result.RETURN_FLAG = false;
                result.DESCRIPTION = Message_Type.parameter_Error
                                     .GetDescription(Table_Type.A62.ToString());
                return(result);
            }
            string dataYear = dataModel.First().Data_Year;

            if (db.Moody_LGD_Info
                .Any(x => dataYear.Equals(x.Data_Year)))
            {
                result.RETURN_FLAG = false;
                result.DESCRIPTION = Message_Type.already_Save
                                     .GetDescription(Table_Type.A62.ToString());
                return(result);
            }

            #region save Moody_LGD_Info(A62)

            db.Moody_LGD_Info.AddRange(
                dataModel.Select(x => new Moody_LGD_Info()
            {
                Data_Year     = x.Data_Year,
                Lien_Position = x.Lien_Position,
                Recovery_Rate = TypeTransfer.stringToDoubleN(x.Recovery_Rate),
                LGD           = TypeTransfer.stringToDoubleN(x.LGD)
            }));

            #endregion save Moody_LGD_Info(A62)

            try
            {
                db.SaveChanges();
                result.RETURN_FLAG = true;
                result.DESCRIPTION = Message_Type.save_Success.GetDescription();
            }
            catch (DbUpdateException ex)
            {
                result.RETURN_FLAG = false;
                result.DESCRIPTION = Message_Type
                                     .save_Fail.GetDescription(Table_Type.A62.ToString(),
                                                               $"message: {ex.Message}" +
                                                               $", inner message {ex.InnerException?.InnerException?.Message}");
            }
            return(result);
        }
Esempio n. 27
0
        // GET: TypeTransfer/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TypeTransfer typeTransfer = db.TypeTransfer.Find(id);

            if (typeTransfer == null)
            {
                return(HttpNotFound());
            }
            return(View(typeTransfer));
        }
 /// <summary>
 /// Db 組成 D01ViewModel
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 private D01ViewModel DbToD01ViewModel(Flow_Info data)
 {
     return(new D01ViewModel()
     {
         PRJID = data.PRJID,
         FLOWID = data.FLOWID,
         Group_Product_Code = data.Group_Product_Code,
         Publish_Date = TypeTransfer.dateTimeNToString(data.Publish_Date),
         Apply_On_Date = TypeTransfer.dateTimeNToString(data.Apply_On_Date),
         Apply_Off_Date = TypeTransfer.dateTimeNToString(data.Apply_Off_Date),
         Issuer = data.Issuer,
         Memo = data.Memo
     });
 }
Esempio n. 29
0
        public JsonResult SearchA57(
            string datepicker,
            string version,
            string from,
            string to,
            string SMF,
            string stype,
            string bondNumber,
            string issuer,
            string status)
        {
            MSGReturnModel result = new MSGReturnModel();

            result.RETURN_FLAG = false;
            DateTime      dp   = DateTime.MinValue;
            DateTime?     df   = TypeTransfer.stringToDateTimeN(from);
            DateTime?     dt   = TypeTransfer.stringToDateTimeN(to);
            int           v    = 0;
            bool          flag = false;
            Rating_Status rs   = Rating_Status.All;

            EnumUtil.GetValues <Rating_Status>().ToList().ForEach(x =>
            {
                if (x.ToString() == status)
                {
                    rs   = x;
                    flag = true;
                }
            });
            if (!flag || !DateTime.TryParse(datepicker, out dp) || !Int32.TryParse(version, out v))
            {
                result.DESCRIPTION = Message_Type.parameter_Error.GetDescription();
            }
            else
            {
                Cache.Invalidate(CacheList.A57DbfileData); //清除
                var datas = A5Repository.GetA57(dp, v, df, dt, SMF, stype, bondNumber, issuer, rs);
                if (datas.Any())
                {
                    result.RETURN_FLAG = true;
                    Cache.Set(CacheList.A57DbfileData, datas); //把資料存到 Cache
                }
                else
                {
                    result.DESCRIPTION = Message_Type.not_Find_Any.GetDescription();
                }
            }
            return(Json(result));
        }
Esempio n. 30
0
        private A62ViewModel DbToA62ViewModel(Moody_LGD_Info data)
        {
            string statusName  = "";
            string auditorName = "";

            StatusList          statusList         = new StatusList();
            List <SelectOption> selectOptionStatus = statusList.statusOption;

            for (int i = 0; i < selectOptionStatus.Count; i++)
            {
                if (data.Status.IsNullOrWhiteSpace() && selectOptionStatus[i].Value.IsNullOrWhiteSpace())
                {
                    statusName = selectOptionStatus[i].Text;
                    break;
                }
                else
                {
                    if (selectOptionStatus[i].Value == data.Status)
                    {
                        statusName = selectOptionStatus[i].Text;
                        break;
                    }
                }
            }

            using (IFRS9DBEntities db = new IFRS9DBEntities())
            {
                var UserData = db.IFRS9_User.Where(x => x.User_Account == data.Auditor).FirstOrDefault();
                if (UserData != null)
                {
                    auditorName = UserData.User_Name;
                }
            }

            return(new A62ViewModel()
            {
                Data_Year = data.Data_Year,
                Lien_Position = data.Lien_Position,
                Recovery_Rate = data.Recovery_Rate.ToString(),
                LGD = data.LGD.ToString(),
                Status = data.Status,
                Status_Name = statusName,
                Auditor_Reply = data.Auditor_Reply,
                Auditor = data.Auditor,
                Auditor_Name = auditorName,
                Audit_date = TypeTransfer.dateTimeNToString(data.Audit_date)
            });
        }