public HttpResponseMessage Add(TodoViewModel models) { try { var result = service.AddTodo(models); return Request.CreateResponse(result); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message.ToString()); } }
/// <summary>新增待辦資料</summary> /// <returns></returns> public TodoViewModel AddTodo(TodoViewModel models) { models.TodoID = Guid.NewGuid().ToString(); models.CreateTime = DateTime.Now; models.Creator = "system"; Mapper.CreateMap<TodoViewModel, Todo>(); var todo = Mapper.Map<TodoViewModel, Todo>(models); db.Insert(todo); //TODO 存入標籤 return models; }
/// <summary>儲存待辦資訊</summary> /// <param name="models"></param> public void UpdateTodo(TodoViewModel models) { // 建立Mapping邏輯,只更新 Mapper.CreateMap<TodoViewModel, Todo>() .ForMember(x => x.Updator, y => y.UseValue("system")) .ForMember(x => x.UpdateTime, y => y.UseValue(DateTime.Now)) .ForMember(x => x.TodoID, y => y.Ignore()) .ForMember(x => x.CreateTime, y => y.Ignore()) .ForMember(x => x.Creator, y => y.Ignore()) .ForMember(x => x.IsFinish, y => y.Ignore()) .ForMember(x => x.NeedTomato, y => y.Ignore()) .ForMember(x => x.DoneTomato, y => y.Ignore()); Todo todo = db.GetByID(models.TodoID); // 只更新ViewModel的部分到Entity Mapper.Map(models, todo); db.Update(todo); }
//CHECK 更新待辦 public HttpResponseMessage Update(TodoViewModel models) { try { service.UpdateTodo(models); return Request.CreateResponse(HttpStatusCode.OK); } catch (Exception ex) { return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message.ToString()); } }