/// <summary> /// Check Delete /// </summary> /// <param name="model">Group model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper CheckDelete(GroupModel model) { try { using (var _context = new TDHEntities()) { MN_GROUP _md = _context.MN_GROUP.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.create_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "CheckDelete", model.CreateBy); } var _group = _context.MN_CATEGORY.FirstOrDefault(m => m.group_id == model.ID && !m.deleted && m.create_by == model.CreateBy); if (_group != null) { Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning); return(ResponseStatusCodeHelper.NG); } } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "CheckDelete", model.CreateBy, ex); } return(ResponseStatusCodeHelper.OK); }
/// <summary> /// Save /// </summary> /// <param name="model">Group model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(GroupModel model) { try { using (var _context = new TDHEntities()) { MN_GROUP _md = new MN_GROUP(); if (model.Insert) { _md.id = Guid.NewGuid(); _md.is_input = model.IsInput; } else { _md = _context.MN_GROUP.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.create_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.name = model.Name; _md.notes = model.Notes; _md.ordering = model.Ordering; _md.publish = model.Publish; //Setting value don't allow change when create or edit if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.MN_GROUP.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; _context.MN_GROUP.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); }
/// <summary> /// Delete /// </summary> /// <param name="model">Group model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Delete(GroupModel model) { try { using (var _context = new TDHEntities()) { MN_GROUP _md = _context.MN_GROUP.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.create_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "Delete", model.CreateBy); } _md.deleted = true; _md.delete_by = model.DeleteBy; _md.delete_date = DateTime.Now; _context.MN_GROUP.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 by id /// </summary> /// <param name="model">Group model</param> /// <returns>MoneyGroupModel</returns> public GroupModel GetItemByID(GroupModel model) { try { using (var _context = new TDHEntities()) { MN_GROUP _md = _context.MN_GROUP.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.create_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } return(new GroupModel() { ID = _md.id, Name = _md.name, Notes = _md.notes, IsInput = _md.is_input, PercentSetting = _md.percent_setting, PercentCurrent = _md.percent_current, MoneyCurrent = _md.money_current, MoneyCurrentString = _md.money_current.NumberToString(), MoneySetting = _md.money_setting, MoneySettingString = _md.money_setting.NumberToString(), Ordering = _md.ordering, Publish = _md.publish }); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }