コード例 #1
0
        /// <summary>
        /// Lấy về tên store thực hiện thao tác
        /// </summary>
        /// <param name="entity">Đối tượng cất</param>
        /// <returns>dvthang-20.04.2017</returns>
        public static string GetStoreByEntityState(object entity)
        {
            string strStore = string.Empty;

            Enummation.EditMode entityState = entity.GetValue <Enummation.EditMode>("EditMode");
            switch (entityState)
            {
            case Enummation.EditMode.Add:
                strStore = GetStoreInsert(entity);
                break;

            case Enummation.EditMode.Edit:
                strStore = GetStoreUpdate(entity);
                break;

            case Enummation.EditMode.Delete:
                strStore = GetStoreDelete(entity);
                break;
            }
            return(strStore);
        }
コード例 #2
0
        /// <summary>
        /// Ánh xạ giá trị của object vào trong store
        /// </summary>
        /// <param name="_cmd"></param>
        /// <param name="entity">Object</param>
        /// Create by: dvthang:20.04.2017
        public static void MappingObjectIntoStore(DbCommand _cmd, object entity)
        {
            if (_cmd.Parameters.Count > 0)
            {
                string              userName    = GetUserName();
                string              ipAddress   = GetClientIP();
                DateTime            currentDate = DateTime.Now;
                Enummation.EditMode editMode    = entity.GetValue <Enummation.EditMode>("EditMode");

                string name        = string.Empty;
                object value       = null;
                int    totalParams = _cmd.Parameters.Count;
                for (int i = 0; i < totalParams; i++)
                {
                    name = _cmd.Parameters[i].ParameterName;
                    if (!name.Equals("@RETURN_VALUE"))
                    {
                        name = name.Replace("@", "");
                        PropertyInfo pi = entity.GetType().GetProperty(name);
                        if (pi != null && pi.CanWrite)
                        {
                            switch (name)
                            {
                            case Commonkey.CreatedDate:
                            case Commonkey.ModifiedDate:
                                if (editMode == Enummation.EditMode.Add || editMode == Enummation.EditMode.Duplicate)
                                {
                                    _cmd.Parameters[i].Value = currentDate;
                                }
                                else
                                {
                                    _cmd.Parameters[i].Value = currentDate;
                                }
                                break;

                            case Commonkey.CreatedBy:
                            case Commonkey.ModifiedBy:
                                if (editMode == Enummation.EditMode.Add || editMode == Enummation.EditMode.Duplicate)
                                {
                                    _cmd.Parameters[i].Value = userName;
                                }
                                else
                                {
                                    _cmd.Parameters[i].Value = userName;
                                }
                                break;

                            default:
                                value = pi.GetValue(entity, null);
                                if (value != null)
                                {
                                    _cmd.Parameters[i].Value = value;
                                }
                                else
                                {
                                    _cmd.Parameters[i].Value = DBNull.Value;
                                }
                                break;
                            }
                        }
                    }
                }
            }
        }