Esempio n. 1
0
 /// <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);
     }
 }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
 /// <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);
     }
 }
Esempio n. 4
0
 /// <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);
     }
 }
Esempio n. 5
0
 /// <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);
 }
Esempio n. 6
0
        /// <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);
            }
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 8
0
 /// <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);
     }
 }
Esempio n. 9
0
 /// <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);
     }
 }
Esempio n. 10
0
        /// <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);
            }
        }
Esempio n. 11
0
 /// <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);
     }
 }
Esempio n. 12
0
 /// <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);
 }
Esempio n. 13
0
 /// <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);
 }
Esempio n. 14
0
 /// <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);
     }
 }
Esempio n. 15
0
 /// <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);
 }
Esempio n. 16
0
 /// <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);
     }
 }
Esempio n. 17
0
 /// <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);
 }
Esempio n. 18
0
        /// <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);
        }
Esempio n. 19
0
 /// <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);
 }
Esempio n. 20
0
 /// <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);
 }
Esempio n. 21
0
        /// <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);
        }
Esempio n. 22
0
 /// <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);
 }
Esempio n. 23
0
 /// <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);
 }
Esempio n. 24
0
 /// <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);
 }
Esempio n. 25
0
 /// <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);
     }
 }
Esempio n. 26
0
        /// <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);
        }
Esempio n. 27
0
        /// <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);
        }
Esempio n. 28
0
 /// <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);
 }
Esempio n. 29
0
        /// <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);
            }
        }
Esempio n. 30
0
 /// <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);
 }