/// <summary> /// Get list post data with has category and navigation /// </summary> /// <param name="navigationAlias">Navigation alias</param> /// <param name="categoryAlias">Category alias</param> /// <param name="page">Current page</param> /// <returns>List<PostViewModel></returns> public static List <PostViewModel> GetListPostDataByCategory(string navigationAlias, string categoryAlias, short page = 1) { try { List <PostViewModel> _return = new List <PostViewModel>(); using (var context = new TDHEntities()) { return(context.PROC_WEB_VIEW_POST_ByCategory(navigationAlias, categoryAlias, page) .Select(m => new PostViewModel() { Alias = m.alias, Title = m.title, Description = m.description, Image = m.image, CreateDate = m.create_date }).ToList()); } } catch (UserException uEx) { throw uEx; } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Get list of 20 items /// </summary> /// <param name="navAlias">Navigation alias</param> /// <param name="page">currrent page, default: 1</param> /// <returns>List<PostViewModel></returns> public static List <PostViewModel> ProgrammingGetTop20(string navAlias, short page = 1) { try { List <PostViewModel> _return = new List <PostViewModel>(); using (var context = new TDHEntities()) { var _list = context.PROC_WEB_VIEW_PROGRAMMING_Top20(navAlias, page).ToList(); foreach (var item in _list) { _return.Add(new PostViewModel() { Title = item.title, Alias = item.alias, CategoryAlias = item.cate_alias, CategoryTitle = item.cate_title, Image = item.image }); } return(_return); } } catch (UserException uEx) { throw uEx; } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Get category infor /// </summary> /// <param name="navigationAlias">Navigation alias</param> /// <param name="cateAlias">Category alias</param> /// <returns>CategoryViewModel</returns> public static CategoryViewModel GetCategoryInfor(string navigationAlias, string cateAlias) { try { using (var context = new TDHEntities()) { var _item = context.PROC_WEB_VIEW_CATEGORY_Info(navigationAlias + "/" + cateAlias).FirstOrDefault(); if (_item == null) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 204, string.Format("{0}/{1}: not found", navigationAlias, cateAlias), new Exception()); } return(new CategoryViewModel() { ID = _item.id, NavigationID = _item.navigation_id, Alias = _item.alias, Title = _item.title, MetaImage = _item.image, MetaTitle = _item.meta_title, MetaDescription = _item.meta_description, MetaKeywords = _item.meta_keywords, MetaOgImage = _item.meta_og_image, MetaTwitterImage = _item.meta_twitter_image }); } } catch (UserException uEx) { throw uEx; } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Check page is post of category /// </summary> /// <param name="navigationAlias"></param> /// <param name="categoryAlias"></param> /// <returns>true: category page, false: post page</returns> public static bool CheckIsCategoryPage(string navigationAlias, string categoryAlias) { try { NavigationViewModel _nav = GetNavigationInfor(navigationAlias); using (var context = new TDHEntities()) { //Get this is post which parent is navigation var _post = context.WEB_POST.FirstOrDefault(m => m.alias == ("/" + navigationAlias + "/" + categoryAlias) && m.publish && !m.deleted); if (_post != null) { if (!_post.is_navigation || _nav.ID != _post.navigation_id) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 204, string.Format("{0}/{1} not found", navigationAlias, categoryAlias), new Exception()); } return(false); } //Check this is category which parent is navigation var _cate = context.WEB_CATEGORY.FirstOrDefault(m => m.alias == ("/" + navigationAlias + "/" + categoryAlias)); if (_cate == null || _cate.navigation_id != _nav.ID) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 204, string.Format("{0}/{1} not found", navigationAlias, categoryAlias), new Exception()); } return(true); } } catch (UserException uEx) { throw uEx; } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Delete /// </summary> /// <param name="model">Post model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Delete(PostModel model) { try { using (var _context = new TDHEntities()) { WEB_POST _md = _context.WEB_POST.FirstOrDefault(m => m.id == model.ID && !m.deleted); 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.WEB_POST.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 home page meta content /// </summary> /// <returns>MetaViewModel</returns> public static MetaViewModel getHomeMetaContent() { MetaViewModel _meta = new MetaViewModel(); try { using (var _context = new TDHEntities()) { var _md = _context.PROC_WEB_VIEW_HOME_META().FirstOrDefault(); if (_md != null) { _meta.MetaTitle = _md.title; _meta.MetaDescription = _md.description; _meta.MetaKeywords = _md.keyword; _meta.MetaImage = _md.image; _meta.MetaOgImage = _md.google_image; _meta.MetaTwitterImage = _md.twitter_image; } return(_meta); } } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Get item /// </summary> /// <param name="model">Error log model</param> /// <returns>RoleModel. Throw exception if not found or get some error</returns> public ErrorLogModel GetItemByID(ErrorLogModel model) { ErrorLogModel _return = new ErrorLogModel() { ID = Guid.NewGuid() }; try { using (var _context = new TDHEntities()) { var _item = _context.WEB_ERROR_LOG.FirstOrDefault(m => m.id == model.ID); if (_item != null) { _return = new ErrorLogModel() { ID = _item.id, FileName = _item.file_name, Message = _item.message, MethodName = _item.method_name, DateString = _item.create_date.DateToString("dd/MM/yyyy HH:mm:ss"), InnerException = _item.inner_exception, StackTrace = _item.stack_trace }; } } } catch (Exception ex) { throw new ServiceException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, model.CreateBy, ex); } return(_return); }
/// <summary> /// Get item /// </summary> /// <param name="model"></param> /// <returns>UserModel. Throw exception if not found or get some error</returns> public UserModel GetItemByID(UserModel model) { try { using (var context = new TDHEntities()) { FB_USER _md = context.FB_USER.FirstOrDefault(m => m.uid == model.UID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } return(new UserModel() { UID = _md.uid, Name = _md.name }); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Get item by id and owner /// </summary> /// <param name="model">skill model</param> /// <returns>MoneyAccountModel. Throw exception if not found or get some error</returns> public SkillModel GetItemByID(SkillModel model) { try { using (var _context = new TDHEntities()) { CM_SKILL _md = _context.CM_SKILL.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.created_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } var _return = new SkillModel() { ID = _md.id, Name = _md.name, Ordering = _md.ordering, Notes = _md.notes }; return(_return); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Get list of category in programming page /// </summary> /// <param name="navAlias">Navigation alias</param> /// <returns>List<CategoryViewModel></returns> public static List <CategoryViewModel> ProgrammingCategory(string navAlias) { try { List <CategoryViewModel> _return = new List <CategoryViewModel>(); using (var context = new TDHEntities()) { var _list = context.PROC_WEB_VIEW_PROGRAMMING_category(navAlias).ToList(); foreach (var item in _list) { _return.Add(new CategoryViewModel() { Title = item.title, Alias = item.alias, Count = (int)item.count }); } return(_return); } } catch (UserException uEx) { throw uEx; } catch (Exception ex) { throw new UserException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, 500, ErrorMessage.ErrorService, ex); } }
/// <summary> /// Get item /// </summary> /// <param name="model"></param> /// <returns>FanpageModel. Throw exception if not found or get some error</returns> public FanpageModel GetItemByID(FanpageModel model) { try { using (var context = new TDHEntities()) { FB_FANPAGE _md = context.FB_FANPAGE.FirstOrDefault(m => m.uid == model.UID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } return(new FanpageModel() { UID = _md.uid, UserName = _md.user_name, Link = _md.link, DisplayName = _md.display_name }); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Save /// </summary> /// <param name="model">Skill model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(SkillModel model) { try { using (var _context = new TDHEntities()) { CM_SKILL _md = new CM_SKILL(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = _context.CM_SKILL.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.created_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.group_id = model.GroupID; _md.name = model.Name; _md.ordering = model.Ordering; _md.notes = model.Notes; _md.publish = true; //Create or edit, only change the name and type if (model.Insert) { _md.created_by = model.CreateBy; _md.created_date = DateTime.Now; _context.CM_SKILL.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.updated_by = model.UpdateBy; _md.updated_date = DateTime.Now; _context.CM_SKILL.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"></param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Delete(FanpageModel model) { try { using (var context = new TDHEntities()) { FB_FANPAGE _md = context.FB_FANPAGE.FirstOrDefault(m => m.uid == model.UID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Delete", model.CreateBy); } context.FB_FANPAGE.Remove(_md); context.Entry(_md).State = EntityState.Deleted; 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"></param> /// <returns>FanpageModel. Throw exception if not found or get some error</returns> public string GetTokenByItem(FanpageModel model) { try { using (var context = new TDHEntities()) { FB_FANPAGE _md = context.FB_FANPAGE.FirstOrDefault(m => m.uid == model.UID && m.created_by == model.CreateBy && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "GetTokenByItem", model.CreateBy); } if (_md.expires_on <= DateTime.Now || _md.start_on >= DateTime.Now) { return(""); } return(_md.auth_token); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetTokenByItem", model.CreateBy, ex); } }
/// <summary> /// Check Delete /// </summary> /// <param name="model">Skill model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper CheckDelete(SkillModel model) { try { using (var _context = new TDHEntities()) { CM_SKILL _md = _context.CM_SKILL.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.created_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "CheckDelete", model.CreateBy); } var _skills = _context.PN_SKILL.FirstOrDefault(m => m.skill_id == model.ID && !m.deleted); if (_skills != 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> /// Get all item without deleted /// </summary> /// <returns></returns> public List <FanpageModel> GetAll(Guid userID) { try { List <FanpageModel> _return = new List <FanpageModel>(); using (var context = new TDHEntities()) { var _list = context.FB_FANPAGE.Where(m => !m.deleted && m.created_by == userID).OrderByDescending(m => m.created_date).ToList(); foreach (var item in _list) { _return.Add(new FanpageModel() { UID = item.uid, UserName = item.user_name, Link = item.link, DisplayName = item.display_name }); } } return(_return); } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetAll", userID, ex); } }
/// <summary> /// Save /// </summary> /// <param name="model">Dream model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(DreamModel model) { try { using (var context = new TDHEntities()) { PN_DREAM _md = new PN_DREAM(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = context.PN_DREAM.FirstOrDefault(m => m.id == model.ID && !m.deleted && m.created_by == model.CreateBy); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.title = model.Title; _md.finish = model.Finish; _md.finish_time = model.FinishTime; _md.notes = model.Notes; _md.ordering = model.Ordering; if (model.Insert) { _md.created_by = model.CreateBy; _md.created_date = DateTime.Now; context.PN_DREAM.Add(_md); context.Entry(_md).State = EntityState.Added; } else { _md.updated_by = model.UpdateBy; _md.updated_date = DateTime.Now; context.PN_DREAM.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> /// Save /// </summary> /// <param name="model"></param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(CheckListItemModel model) { try { using (var context = new TDHEntities()) { WK_CHECKLIST_ITEM _md = new WK_CHECKLIST_ITEM(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = context.WK_CHECKLIST_ITEM.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.title = model.title; _md.description = model.description; _md.update_date = model.updateDate; if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; context.WK_CHECKLIST_ITEM.Add(_md); context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; context.WK_CHECKLIST_ITEM.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> /// Save /// </summary> /// <param name="model">Category model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(CategoryModel model) { try { using (var _context = new TDHEntities()) { MN_CATEGORY _md = new MN_CATEGORY(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = _context.MN_CATEGORY.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.group_id = model.GroupID; _md.name = model.Name; _md.notes = model.Notes; //Setting doesn't allow set in create or update if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.MN_CATEGORY.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; _context.MN_CATEGORY.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> /// Save /// </summary> /// <param name="model">Account model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(AccountModel model) { try { using (var _context = new TDHEntities()) { MN_ACCOUNT _md = new MN_ACCOUNT(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = _context.MN_ACCOUNT.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.account_type_id = model.AccountTypeID; _md.name = model.Name; _md.max_payment = model.MaxPayment; //Create or edit, only change the name and type if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.MN_ACCOUNT.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; _context.MN_ACCOUNT.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> /// Check income, payment history by month, and category id and by type (payment or income) /// Parameter1: by month /// Parameter2: by acount id /// Parameter3: by type (income or payment) /// </summary> /// <param name="request">Jquery datatable request</param> /// <param name="userID">The user identifier</param> /// <returns>Dictionary<string, object></returns> public Dictionary <string, object> GetHistory(CustomDataTableRequestHelper request, Guid userID) { Dictionary <string, object> _return = new Dictionary <string, object>(); try { //Declare response data to json object DataTableResponse <CategoryHistoryModel> _itemResponse = new DataTableResponse <CategoryHistoryModel>(); //List of data List <CategoryHistoryModel> _list = new List <CategoryHistoryModel>(); using (var _context = new TDHEntities()) { var _lData = (from m in _context.V_MN_CATEGORY_HISTORY where m.create_by == userID && request.Parameter2 == (request.Parameter2.Length == 0 ? request.Parameter2 : m.category_id.ToString()) //By account id orderby m.date descending select new { m.title, m.date, m.money, m.type }).ToList(); if (request.Parameter1.Length > 0) //by month { _lData = _lData.Where(m => m.date.Value.DateToString("yyyyMM") == request.Parameter1).ToList(); } _itemResponse.draw = request.draw; _itemResponse.recordsTotal = _lData.Count; //Search if (request.search != null && !string.IsNullOrWhiteSpace(request.search.Value)) { string searchValue = request.search.Value.ToLower(); _lData = _lData.Where(m => m.title.ToLower().Contains(searchValue)).ToList(); } //Add to list foreach (var item in _lData) { _list.Add(new CategoryHistoryModel() { Title = item.title, Date = item.date.Value, DateString = item.date.Value.DateToString(), MoneyString = item.money.NumberToString(), Type = item.type }); } _itemResponse.recordsFiltered = _list.Count; _itemResponse.data = _list.Skip(request.start).Take(request.length).ToList(); _return.Add(DatatableCommonSetting.Response.DATA, _itemResponse); } _return.Add(DatatableCommonSetting.Response.STATUS, ResponseStatusCodeHelper.OK); } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetHistory", userID, ex); } return(_return); }
/// <summary> /// Save /// </summary> /// <param name="model">Account type model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(AccountTypeModel model) { try { using (var _context = new TDHEntities()) { MN_ACCOUNT_TYPE _md = new MN_ACCOUNT_TYPE(); if (model.Insert) { _md.id = Guid.NewGuid(); } else { _md = _context.MN_ACCOUNT_TYPE.FirstOrDefault(m => m.id == model.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", model.CreateBy); } } _md.name = model.Name; _md.type = model.Type; _md.ordering = model.Ordering; _md.publish = model.Publish; if (model.Insert) { _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.MN_ACCOUNT_TYPE.Add(_md); _context.Entry(_md).State = EntityState.Added; } else { _md.update_by = model.UpdateBy; _md.update_date = DateTime.Now; _context.MN_ACCOUNT_TYPE.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> /// Save /// </summary> /// <param name="model">List of group setting model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(List <GroupSettingModel> model) { try { using (var _context = new TDHEntities()) { using (var trans = _context.Database.BeginTransaction()) { try { foreach (var item in model) { MN_GROUP_SETTING _md = _context.MN_GROUP_SETTING.FirstOrDefault(m => m.id == item.ID && !m.deleted); if (_md == null) { throw new DataAccessException(FILE_NAME, "Save", item.CreateBy); } _md.percent_setting = item.PercentSetting; _md.update_by = item.UpdateBy; _md.update_date = DateTime.Now; _context.MN_GROUP_SETTING.Attach(_md); _context.Entry(_md).State = EntityState.Modified; // if (_md.year_month % 100 == DateTime.Now.Month) { var _gr = _context.MN_GROUP.FirstOrDefault(m => m.id == _md.group_id); _gr.percent_setting = _md.percent_setting; _context.MN_GROUP.Attach(_gr); _context.Entry(_gr).State = EntityState.Modified; } _context.SaveChanges(); } trans.Commit(); } catch (DataAccessException fieldEx) { trans.Rollback(); throw fieldEx; } catch (Exception ex) { trans.Rollback(); throw ex; } } } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Save", model[0].CreateBy, ex); } Notifier.Notification(model[0].CreateBy, Message.UpdateSuccess, Notifier.TYPE.Success); return(ResponseStatusCodeHelper.Success); }
/// <summary> /// Save /// </summary> /// <param name="model"></param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(FanpageModel model) { try { using (var context = new TDHEntities()) { model.Insert = false; FB_FANPAGE _md = new FB_FANPAGE(); _md = context.FB_FANPAGE.FirstOrDefault(m => m.uid == model.UID && !m.deleted && m.created_by == model.CreateBy); if (_md == null) { _md = new FB_FANPAGE(); _md.uid = model.UID; model.Insert = true; } _md.link = model.Link; _md.user_name = model.UserName; _md.display_name = model.DisplayName; _md.phone = model.Phone; _md.email = model.Email; _md.website = model.Website; _md.auth_token = model.AuthToken; _md.start_on = model.StartOn; _md.last_execute = model.LastExecute; _md.expires_on = model.ExpiresOn; _md.ordering = model.Ordering; if (model.Insert) { _md.created_by = model.CreateBy; _md.created_date = DateTime.Now; context.FB_FANPAGE.Add(_md); context.Entry(_md).State = EntityState.Added; } else { _md.updated_by = model.UpdateBy; _md.updated_date = DateTime.Now; context.FB_FANPAGE.Attach(_md); context.Entry(_md).State = EntityState.Modified; } context.SaveChanges(); } } 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> /// Get all item by category id without deleted /// </summary> /// <param name="categoryID">The category identifier</param> /// <param name="year">Year</param> /// <param name="userID">The user identifier</param> /// <returns>List<CategoryModel></returns> public List <CategorySettingModel> GetAll(Guid categoryID, int year, Guid userID) { try { List <CategorySettingModel> _return = new List <CategorySettingModel>(); using (var _context = new TDHEntities()) { var _list = (from m in _context.MN_CATEGORY_SETTING where !m.deleted && m.category_id == categoryID && m.year_month.ToString().Contains(year.ToString()) orderby m.year_month descending select new { m.id, m.year_month, m.money_setting, m.money_current }).ToList(); if (_list.Count() == 0) { //Create if current year doesn't exist in setting table if (Create(categoryID, year, userID) == ResponseStatusCodeHelper.Success) { _list = (from m in _context.MN_CATEGORY_SETTING where !m.deleted && m.category_id == categoryID && m.year_month.ToString().Contains(year.ToString()) orderby m.year_month descending select new { m.id, m.year_month, m.money_setting, m.money_current }).ToList(); } } foreach (var item in _list) { _return.Add(new CategorySettingModel() { ID = item.id, YearMonth = item.year_month, Month = int.Parse(item.year_month.ToString().Substring(4, 2)), Year = int.Parse(item.year_month.ToString().Substring(0, 4)), MoneySetting = item.money_setting, MoneySettingString = item.money_setting.NumberToString(), MoneyCurrent = item.money_current, MoneyCurrentString = item.money_current.NumberToString() }); } } return(_return); } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetAll", userID, ex); } }
/// <summary> /// Get item /// </summary> /// <param name="model">Role Model</param> /// <returns>RoleModel</returns> public RoleModel GetItemByID(RoleModel model) { RoleModel _return = new RoleModel() { ID = Guid.NewGuid(), Insert = model.Insert }; try { using (var _context = new TDHEntities()) { var _lFunc = _context.PROC_SYS_FUNCTION_List(this.SessionID, model.CreateBy).ToList(); foreach (var item in _lFunc) { _return.Detail.Add(new RoleDetailModel() { FunctionCode = item.code, FunctionName = item.name, View = item.view, Add = item.add, Edit = item.edit, Delete = item.delete }); } var _md = _context.PROC_SYS_ROLE_ById(model.ID, this.SessionID, model.CreateBy).FirstOrDefault(); if (_md != null) { _return.ID = (Guid)_md.id; _return.Name = _md.name; _return.Description = _md.description; _return.Publish = _md.publish; // var _lPers = _context.PROC_SYS_ROLE_DETAIL_ByRoleId(_md.id, this.SessionID, model.CreateBy).ToList(); foreach (var item in _lPers) { var _tmp = _return.Detail.FirstOrDefault(m => m.FunctionCode == item.function_code); if (_tmp != null) { _tmp.Add = item.add; _tmp.View = item.view; _tmp.Edit = item.edit; _tmp.Delete = item.delete; } } } } } catch (Exception ex) { throw new ServiceException(FILE_NAME, MethodInfo.GetCurrentMethod().Name, model.CreateBy, ex); } return(_return); }
/// <summary> /// Save payment /// </summary> /// <param name="model">Payment model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper SavePayment(PaymentModel model) { try { using (var _context = new TDHEntities()) { using (var trans = _context.Database.BeginTransaction()) { try { decimal _currentYearMonth = decimal.Parse(DateTime.Now.DateToString("yyyyMM")); MN_PAYMENT _md = new MN_PAYMENT(); _md.id = Guid.NewGuid(); _md.account_id = model.AccountID; _md.category_id = model.CategoryID; _md.title = model.Title; _md.date = model.Date; _md.purpose = model.Purpose; _md.notes = model.Notes; _md.money = model.Money; _md.create_by = model.CreateBy; _md.create_date = DateTime.Now; _context.MN_PAYMENT.Add(_md); _context.Entry(_md).State = EntityState.Added; _context.SaveChanges(); //MN_ACCOUNT. Update account payment money MN_ACCOUNT _acc = _context.MN_ACCOUNT.FirstOrDefault(m => m.id == _md.account_id); _acc.output += model.Money; _context.MN_ACCOUNT.Attach(_acc); _context.Entry(_acc).State = EntityState.Modified; _context.SaveChanges(); trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw new ServiceException(FILE_NAME, "SavePayment", model.CreateBy, ex); } } } } catch (ServiceException serviceEx) { throw serviceEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "SavePayment", model.CreateBy, ex); } Notifier.Notification(model.CreateBy, Message.InsertSuccess, Notifier.TYPE.Success); return(ResponseStatusCodeHelper.Success); }
/// <summary> /// Check Delete /// </summary> /// <param name="model">Account model</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper CheckDelete(AccountModel model) { try { using (var _context = new TDHEntities()) { MN_ACCOUNT _md = _context.MN_ACCOUNT.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 _accSetting = _context.MN_ACCOUNT_SETTING.FirstOrDefault(m => m.account_id == model.ID && !m.deleted); if (_accSetting != null) { Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning); return(ResponseStatusCodeHelper.NG); } var _payment = _context.MN_PAYMENT.FirstOrDefault(m => m.account_id == model.ID && !m.deleted); if (_payment != null) { Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning); return(ResponseStatusCodeHelper.NG); } var _income = _context.MN_INCOME.FirstOrDefault(m => m.account_id == model.ID && !m.deleted); if (_income != null) { Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning); return(ResponseStatusCodeHelper.NG); } var _transFrom = _context.MN_TRANSFER.FirstOrDefault(m => m.account_from == model.ID && !m.deleted); if (_transFrom != null) { Notifier.Notification(model.CreateBy, Message.CheckExists, Notifier.TYPE.Warning); return(ResponseStatusCodeHelper.NG); } var _transTo = _context.MN_TRANSFER.FirstOrDefault(m => m.account_to == model.ID && !m.deleted); if (_transTo != 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> /// Get item /// </summary> /// <param name="model">Category model</param> /// <returns>MoneyCategoryModel</returns> public CategoryModel GetItemByID(CategoryModel model) { try { using (var _context = new TDHEntities()) { List <V_MN_CATEGORY> _list = _context.V_MN_CATEGORY.Where(m => m.id == model.ID && m.create_by == model.CreateBy).ToList(); if (_list == null && _list.Count() == 0) { throw new DataAccessException(FILE_NAME, "GetItemByID", model.CreateBy); } CategoryModel _return = new CategoryModel() { ID = _list[0].id, Name = _list[0].name, Notes = _list[0].notes, GroupID = _list[0].group_id, GroupName = _list[0].group_name, MoneyCurrent = _list[0].money_current, MoneySetting = _list[0].money_setting, Ordering = _list[0].ordering, Publish = _list[0].publish }; if (_list.Count > 1) { foreach (var item in _list) { _return.Setting.Add(new CategorySettingModel() { Month = item.month.Value, Year = item.year.Value, MoneySetting = item.money_setting, MoneyCurrent = item.is_input ? item.current_income : item.current_payment, YearMonthString = item.year_month.ToString() }); } } return(_return); } } catch (DataAccessException fieldEx) { throw fieldEx; } catch (Exception ex) { throw new ServiceException(FILE_NAME, "GetItemByID", model.CreateBy, ex); } }
/// <summary> /// Save all group by month /// </summary> /// <param name="yearMonth">Year month</param> /// <param name="userID">The user identifier</param> /// <returns>ResponseStatusCodeHelper</returns> public ResponseStatusCodeHelper Save(decimal yearMonth, Guid userID) { try { using (var _context = new TDHEntities()) { var _list = _context.MN_GROUP.Where(m => !m.deleted).ToList(); using (var trans = _context.Database.BeginTransaction()) { try { foreach (var item in _list) { //Check if exists var _stItem = _context.MN_GROUP_SETTING.FirstOrDefault(it => it.group_id == item.id && it.year_month == yearMonth && it.create_by == userID); if (_stItem != null) { // Don't save new setting items if current is exists continue; } MN_GROUP_SETTING _st = new MN_GROUP_SETTING() { id = Guid.NewGuid(), group_id = item.id, year_month = yearMonth, percent_current = 0, percent_setting = 0, money_current = 0, money_setting = 0, create_by = userID, create_date = DateTime.Now }; _context.MN_GROUP_SETTING.Add(_st); _context.Entry(_st).State = EntityState.Added; _context.SaveChanges(); } trans.Commit(); } catch (Exception ex) { trans.Rollback(); throw ex; } } } } catch (Exception ex) { throw new ServiceException(FILE_NAME, "Save", userID, ex); } return(ResponseStatusCodeHelper.Success); }