/// <summary> /// Delete /// </summary> /// <param name="model">Idea model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Delete(IdeaModel model) { try { using (var context = new TDHEntities()) { PN_IDEA _md = context.PN_IDEA.FirstOrDefault(m => m.id == model.ID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Delete", model.CreateBy); } _md.deleted = true; _md.deleted_by = model.DeleteBy; _md.deleted_date = DateTime.Now; context.PN_IDEA.Attach(_md); context.Entry(_md).State = EntityState.Modified; context.SaveChanges(); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Delete", model.CreateBy, ex); } Notifier.Notification(model.CreateBy, Message.DeleteSuccess, Notifier.TYPE.Success); return(ResponseStatusCodeHelper.Success); }
/// <summary> /// Get item /// </summary> /// <param name="model">Idea model</param> /// <returns>IdeaModel</returns> public IdeaModel GetItemByID(IdeaModel model) { try { using (var context = new TDHEntities()) { PN_IDEA _md = context.PN_IDEA.FirstOrDefault(m => m.id == model.ID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } return(new IdeaModel() { ID = _md.id, Title = _md.title, Content = _md.content }); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Save /// </summary> /// <param name="model">Idea model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(IdeaModel model) { try { using (var context = new TDHEntities()) { PN_IDEA _md = new PN_IDEA(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = context.PN_IDEA.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.title = model.Title; _md.content = model.Content; if (model.Insert) { _md.created_by = model.CreateBy; _md.created_date = DateTime.Now; context.PN_IDEA.Add(_md); context.Entry(_md).State = EntityState.Added; } else { _md.updated_by = model.UpdateBy; _md.updated_date = DateTime.Now; context.PN_IDEA.Attach(_md); context.Entry(_md).State = EntityState.Modified; } context.SaveChanges(); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Save", model.CreateBy, ex); } if (model.Insert) { Notifier.Notification(model.CreateBy, Message.InsertSuccess, Notifier.TYPE.Success); } else { Notifier.Notification(model.CreateBy, Message.UpdateSuccess, Notifier.TYPE.Success); } return(ResponseStatusCodeHelper.Success); }