public void AddTransfer(TypeTransfer typeTransfer) { foreach (Func <GPSCoordinate, GPSCoordinate> c in typeTransfer.Converters) { AddConverter(c); } }
/// <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) }); }
/// <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); }
/// <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); }
/// <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>())); }
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的資料 }
/// <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]), }); }
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); }
/// <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); }
public ActionResult DeleteConfirmed(int id) { TypeTransfer typeTransfer = db.TypeTransfer.Find(id); db.TypeTransfer.Remove(typeTransfer); db.SaveChanges(); return(RedirectToAction("Index")); }
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); }
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); }
/// <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); }
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)); }
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) }); }
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)); }
/// <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)); }
/// <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); }
public ActionResult Create([Bind(Include = "IdTypeTransfer,DescType")] TypeTransfer typeTransfer) { if (ModelState.IsValid) { db.TypeTransfer.Add(typeTransfer); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(typeTransfer)); }
/// <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); }
/// <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); }
/// <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()) }); }
/// <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>())); } }
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)); }
/// <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); }
// 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 }); }
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)); }
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) }); }