public static void CheckDatum(this DatumModel input) { if (string.IsNullOrWhiteSpace(input.Label)) { throw new ArgumentException("The label cannot be empty."); } }
public async Task <DatumModel> UpdateAsync(string stuffId, DatumModel input) { input.CheckDatum(); if (stuffId != input.Id) { throw new ArgumentException("Corrupted data."); } TUser dbUserAuth = await _userAuth.GetCurrentUserAsync("updated datum"); TStuff dbStuff = await _context.TStuff.FirstOrDefaultAsync(x => x.StfId.Equals(stuffId)); if (dbStuff == null || dbStuff.StfUserId != dbUserAuth.UsrId) { throw new ArgumentException("Corrupted data."); } // Update stuff dbStuff = input.ToUpdate(dbStuff); await _context.SaveChangesAsync(); // Attach user to the stuff for the response dbStuff.StfUser = dbUserAuth; var result = dbStuff.ToDatumModel(); return(result); }
public async Task <DatumModel> CreateAsync(DatumModel input) { input.CheckDatum(); TStuff dbStuff = input.ToCreate(); TUser dbUserAuth = await _userAuth.GetCurrentUserAsync("created datum"); TUser dbUser = await _context.TUser.FirstOrDefaultAsync(x => x.UsrId.Equals(dbUserAuth.UsrId)); if (dbUser == null) { // Create and attach new user dbUserAuth.UsrCreatedAt = DateTime.UtcNow.ToStrDate(); dbStuff.StfUser = dbUserAuth; } // Attach foreign key dbStuff.StfUserId = dbUserAuth.UsrId; // Create stuff await _context.TStuff.AddAsync(dbStuff); await _context.SaveChangesAsync(); // Attach user to the stuff for the response dbStuff.StfUser = dbUserAuth; var result = dbStuff.ToDatumModel(); return(result); }
public static TStuff ToUpdate(this DatumModel input, TStuff result) { result.StfId = input.Id; result.StfLabel = input.Label; result.StfDescription = input.Description; result.StfOtherInfo = input.OtherInfo; result.StfUpdatedAt = DateTime.UtcNow.ToStrDate(); return(result); }
public static TStuff ToCreate(this DatumModel input) { var result = input == null ? null : new TStuff { StfId = Guid.NewGuid().ToString(), StfLabel = input.Label, StfDescription = input.Description, StfOtherInfo = input.OtherInfo, StfCreatedAt = DateTime.UtcNow.ToStrDate() }; return(result); }
public List <DatumModel> DataTableToList(DataTable dt) { List <DatumModel> list = new List <DatumModel>(); int count = dt.Rows.Count; if (count > 0) { for (int i = 0; i < count; i++) { DatumModel item = new DatumModel(); if ((dt.Rows[i]["i_id"] != null) && (dt.Rows[i]["i_id"].ToString() != "")) { item.i_id = new Guid(dt.Rows[i]["i_id"].ToString()); } if ((dt.Rows[i]["PrjCode"] != null) && (dt.Rows[i]["PrjCode"].ToString() != "")) { item.PrjCode = new Guid(dt.Rows[i]["PrjCode"].ToString()); } if ((dt.Rows[i]["AffairClass"] != null) && (dt.Rows[i]["AffairClass"].ToString() != "")) { item.AffairClass = dt.Rows[i]["AffairClass"].ToString(); } if ((dt.Rows[i]["AffairTitle"] != null) && (dt.Rows[i]["AffairTitle"].ToString() != "")) { item.AffairTitle = dt.Rows[i]["AffairTitle"].ToString(); } if ((dt.Rows[i]["AddDate"] != null) && (dt.Rows[i]["AddDate"].ToString() != "")) { item.AddDate = DateTime.Parse(dt.Rows[i]["AddDate"].ToString()); } if ((dt.Rows[i]["Remark"] != null) && (dt.Rows[i]["Remark"].ToString() != "")) { item.Remark = dt.Rows[i]["Remark"].ToString(); } if ((dt.Rows[i]["Context"] != null) && (dt.Rows[i]["Context"].ToString() != "")) { item.Context = dt.Rows[i]["Context"].ToString(); } if ((dt.Rows[i]["DatumClass"] != null) && (dt.Rows[i]["DatumClass"].ToString() != "")) { item.DatumClass = int.Parse(dt.Rows[i]["DatumClass"].ToString()); } if ((dt.Rows[i]["CA"] != null) && (dt.Rows[i]["CA"].ToString() != "")) { item.CA = new int?(int.Parse(dt.Rows[i]["CA"].ToString())); } list.Add(item); } } return(list); }
public void Add(DatumModel model) { this.dal.Add(model); }
public async Task <IActionResult> Update(string id, [FromBody] DatumModel input) { DatumModel result = await _stuffRepo.UpdateAsync(id, input); return(Ok(result)); }
public async Task <IActionResult> Read(string id) { DatumModel result = await _stuffRepo.ReadAsync(id); return(Ok(result)); }
public async Task <IActionResult> Create([FromBody] DatumModel input) { DatumModel result = await _stuffRepo.CreateAsync(input); return(CreatedAtAction(nameof(Read), new { id = result.Id }, result)); }