public static void GetFilePaths(ref TableMakerModel tableMakerModel) { var project = tableMakerModel.Project; var programs = tableMakerModel.Programs; var testers = tableMakerModel.Testers; OCVModel ocvModel = new OCVModel(); RCModel rcModel = new RCModel(); MiniModel miniModel = new MiniModel(); StandardModel standardModel = new StandardModel(); AndroidModel androidModel = new AndroidModel(); tableMakerModel.OCVModel = ocvModel; tableMakerModel.RCModel = rcModel; tableMakerModel.MiniModel = miniModel; tableMakerModel.StandardModel = standardModel; tableMakerModel.AndroidModel = androidModel; ocvModel.FilePath = OCVTableMaker.GetOCVTableFilePath(project); rcModel.FilePath = RCTableMaker.GetRCTableFilePath(project); List <string> strFilePaths; GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "mini", out strFilePaths); miniModel.FilePaths = strFilePaths; GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "standard", out strFilePaths); standardModel.FilePaths = strFilePaths; GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "android", out strFilePaths); androidModel.FilePaths = strFilePaths; }
} = 1; //(A200831)francis, for table_mini #region Mini public static void GetMiniModel(List <SourceData> ocvSource, List <SourceData> rcSource, OCVModel ocvModel, RCModel rcModel, Project project, ref MiniModel miniModel) { MiniModel output = miniModel; output.iOCVVolt = ocvModel.iOCVVolt; output.fCTABase = rcModel.fCTABase; output.fCTASlope = rcModel.fCTASlope; List <short> ilstOutIR; var num = (iNumOfMiniPoints + 1) * rcModel.listfTemp.Count; List <float> flstRC_T; List <List <float> > fLstRCM_Volt; GetLstRCM_Volt(ocvSource, rcSource, rcModel, out fLstRCM_Volt); GetLstRC_T(fLstRCM_Volt, out flstRC_T); List <float> flstOCV; GetLstTblM_OCV(ocvSource, out flstOCV); GetLstOutIR(num, iNumOfMiniPoints + 1, rcModel.listfCurr, flstOCV, flstRC_T, out ilstOutIR); List <float> flstTotalAcc; GetLstTotalAcc(out flstTotalAcc, project, rcSource, rcModel); List <double> poly2EstFACC; List <double> poly2EstIR; GetPoly(rcModel.listfTemp, ilstOutIR, flstTotalAcc, out poly2EstFACC, out poly2EstIR); output.poly2EstFACC = poly2EstFACC; output.poly2EstIR = poly2EstIR; }
// DeleteAMiniModel public async Task Delete(int id) { MiniModel miniModel = await _context.MiniModels.FindAsync(id); _context.Entry(miniModel).State = EntityState.Deleted; await _context.SaveChangesAsync(); }
public static void GenerateMiniDriver(MiniModel miniModel, Project project) { List <string> strFilePaths; TableMakerService.GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "mini", out strFilePaths); List <string> strHHeaderComments; UInt32 uErr = 0; TableMakerService.InitializeHeaderInfor(ref uErr, project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), project.LimitedChargeVoltage.ToString(), project.CutoffDischargeVoltage.ToString(), out strHHeaderComments); var OutFolder = $@"{GlobalSettings.RootPath}{project.BatteryType.Name}\{project.Name}\{GlobalSettings.ProductFolderName}"; GenerateMiniCHFiles(OutFolder, strFilePaths[0], strFilePaths[1], strHHeaderComments, miniModel.iOCVVolt, miniModel.fCTABase, miniModel.fCTASlope, miniModel.poly2EstFACC, miniModel.poly2EstIR); }
// UpdateAMiniModel public async Task <MiniModelDTO> Update(MiniModelDTO miniModel, int id) { Enum.TryParse(miniModel.BuildState, out BuildState buildState); MiniModel updatedMiniModel = new MiniModel() { Id = miniModel.Id, Name = miniModel.Name, Manufacturer = miniModel.Manufacturer, Faction = miniModel.Faction, PointCost = miniModel.PointCost, BuildState = buildState }; _context.Entry(updatedMiniModel).State = EntityState.Modified; await _context.SaveChangesAsync(); return(miniModel); }
/// <summary> /// adds the mini from the wishlist to MiniModel /// </summary> /// <param name="email">user email</param> /// <param name="id">integer for id</param> /// <returns> task completion </returns> public async Task AddMiniWishListToMiniModel(string email, int id) { var wishList = await _context.MiniWishLists.Where(x => x.Email == email) .FirstOrDefaultAsync(x => x.Id == id); MiniModel miniModel = new MiniModel() { Name = wishList.Name, Manufacturer = wishList.Manufacturer, PartNumber = wishList.PartNumber, Faction = wishList.Faction, PointCost = wishList.PointCost, BuildState = BuildState.unBuilt, Email = email }; _context.Entry(miniModel).State = EntityState.Added; _context.Entry(wishList).State = EntityState.Deleted; await _context.SaveChangesAsync(); }
// CreateAMiniModel /// <summary> /// The below method allows one to create an minimodel to be stored within MiniModel /// </summary> /// <param name="supplyName">the name of the minimodel item</param> /// <returns>the newly added minimodel item</returns> public async Task <MiniModelDTO> Create(MiniModelDTO miniModel, string email) { Enum.TryParse(miniModel.BuildState, out BuildState buildState); MiniModel entity = new MiniModel() { Name = miniModel.Name, Manufacturer = miniModel.Manufacturer, PartNumber = miniModel.PartNumber, Faction = miniModel.Faction, PointCost = miniModel.PointCost, BuildState = buildState, Email = email }; _context.Entry(entity).State = EntityState.Added; await _context.SaveChangesAsync(); return(miniModel); }
// GetAMiniModel public async Task <MiniModelDTO> GetMiniModel(int id) { MiniModel miniModel = await _context.MiniModels.FindAsync(id); var paintList = await _context.MinisToPaint.Where(x => x.MiniModelId == id) .Include(x => x.Paint) .ToListAsync(); var suppliesList = await _context.MinisToSupply.Where(x => x.MiniModelId == id) .Include(x => x.Supply) .ToListAsync(); // ============ TODO: Needs Testing ============= List <PaintDTO> paints = new List <PaintDTO>(); List <SupplyDTO> supplies = new List <SupplyDTO>(); foreach (var item in paintList) { paints.Add(await _paint.GetPaint(item.Paint.Id)); } foreach (var item in suppliesList) { supplies.Add(await _supply.GetSupply(1)); } MiniModelDTO miniDto = new MiniModelDTO() { Id = miniModel.Id, Name = miniModel.Name, Manufacturer = miniModel.Manufacturer, Faction = miniModel.Faction, PointCost = miniModel.PointCost, BuildState = miniModel.BuildState.ToString(), Paints = paints, Supplies = supplies }; return(miniDto); }
// GetAMiniModel /// <summary> /// the below method allows one to search for a particular minimodel item /// </summary> /// <param name="email">this is the email associated with the current user (ensures they have access to minimodel item)</param> /// <returns>the minimodel item in question</returns> public async Task <MiniModelDTO> GetMiniModel(int id, string email) { MiniModel miniModel = await _context.MiniModels.Where(x => x.Email == email) .FirstOrDefaultAsync(x => x.Id == id); var paintList = await _context.MinisToPaint.Where(x => x.MiniModelId == id) .Include(x => x.Paint) .ToListAsync(); var suppliesList = await _context.MinisToSupply.Where(x => x.MiniModelId == id) .Include(x => x.Supply) .ToListAsync(); List <PaintDTO> paints = new List <PaintDTO>(); List <SupplyDTO> supplies = new List <SupplyDTO>(); foreach (var item in paintList) { paints.Add(await _paint.GetPaint(item.Paint.Id, email)); } foreach (var item in suppliesList) { supplies.Add(await _supply.GetSupply(item.Supply.Id, email)); } MiniModelDTO miniDto = new MiniModelDTO() { Id = miniModel.Id, Name = miniModel.Name, Manufacturer = miniModel.Manufacturer, PartNumber = miniModel.PartNumber, Faction = miniModel.Faction, PointCost = miniModel.PointCost, BuildState = miniModel.BuildState.ToString(), Paints = paints, Supplies = supplies }; return(miniDto); }
// ================== TODO =========================== // CreateAMiniModel public async Task <MiniModelDTO> Create(MiniModelDTO miniModel) { //========================= TODO get User ID and attach it to "entity" ========================= Enum.TryParse(miniModel.BuildState, out BuildState buildState); MiniModel entity = new MiniModel() { Name = miniModel.Name, Manufacturer = miniModel.Manufacturer, PartNumber = miniModel.PartNumber, Faction = miniModel.Faction, PointCost = miniModel.PointCost, BuildState = buildState }; _context.Entry(entity).State = EntityState.Added; await _context.SaveChangesAsync(); return(miniModel); }