コード例 #1
0
ファイル: SkillService.cs プロジェクト: dinhhung09138/tdh
 /// <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);
     }
 }
コード例 #2
0
ファイル: SkillService.cs プロジェクト: dinhhung09138/tdh
 /// <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);
 }
コード例 #3
0
ファイル: SkillService.cs プロジェクト: dinhhung09138/tdh
 /// <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);
 }
コード例 #4
0
ファイル: SkillService.cs プロジェクト: dinhhung09138/tdh
        /// <summary>
        /// Delete
        /// </summary>
        /// <param name="model">Skill model</param>
        /// <returns>ResponseStatusCodeHelper</returns>
        public ResponseStatusCodeHelper Delete(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, "Delete", model.CreateBy);
                    }
                    _md.deleted      = true;
                    _md.deleted_by   = model.DeleteBy;
                    _md.deleted_date = DateTime.Now;
                    _context.CM_SKILL.Attach(_md);
                    _context.Entry(_md).State = EntityState.Modified;

                    var _lPerson = _context.PN_SKILL.Where(m => m.skill_id == _md.id).ToList();
                    if (_lPerson.Count > 0)
                    {
                        _context.PN_SKILL.RemoveRange(_lPerson);
                    }

                    _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);
        }