// 各單位累計盈餘與罰金計算 public GameSettlement GetSettlement(string RoomID) { //取得成本資料 CostSettingModel costSet = GetCostSet(); // 盈餘 => 出貨 - 成本 (出貨數量*該項目賣出金額) - (進貨數量*該項目成本金額) // 罰金 => (超出庫存數量 + 短缺數量)*該項目罰金金額 GameSettlement data = new GameSettlement(); foreach (var item in GameRecordList.Where(p => p.RoomId == RoomID).ToList()) { string[] storageNameList = { "Manufacturer", "Distribution", "Wholesale", "Retailer" }; foreach (var storageName in storageNameList) { string[] pArray = { "dumpling", "riceball", "salad" }; foreach (var pName in pArray) { ((SettlementItem)data[storageName]).income += (((RecordDataItem)((RecordData)item[storageName])[pName]).income * (int)((StorageSetting)costSet[storageName]).income[pName]) - (((RecordDataItem)((RecordData)item[storageName])[pName]).cost * (int)((StorageSetting)costSet[storageName]).cost[pName]); ((SettlementItem)data[storageName]).fine += ( ((RecordDataItem)((RecordData)item[storageName])[pName]).overrun + ((RecordDataItem)((RecordData)item[storageName])[pName]).lack ) * (int)((StorageSetting)costSet[storageName]).fine[pName]; } } } return(data); }
public static CostSettingModel GetCostSet() { //Get CostData CostSettingModel costSet = new CostSettingModel(); string path = AppDomain.CurrentDomain.BaseDirectory + "Files/cost_setting.json"; string content = Library.FileLib.ReadFile(path); costSet = JsonConvert.DeserializeObject <CostSettingModel>(content); return(costSet); }
public JsonResult CostSetting(CostSettingModel model) { var saveContent = JsonConvert.SerializeObject(model); string settingPath = Library.FileLib.rootPath + "cost_setting.json"; Library.FileLib.WriteOverFile(settingPath, saveContent); return(Json(new { msg = "儲存成功" }, JsonRequestBehavior.AllowGet)); }
public ActionResult CostSetting() { CostSettingModel model = Library.SettingFile.GetCostSet(); return(View(model)); }