Пример #1
0
        public SigmaResultType AddProgressType(TypeProgressType objProgressType)
        {
            TypeUserInfo userinfo = AuthMgr.GetUserInfo();

            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            List<SqlParameter> paramList = new List<SqlParameter>();
            paramList.Add(new SqlParameter("@Name", objProgressType.Name.Trim()));
            paramList.Add(new SqlParameter("@Description", objProgressType.Description.Trim()));
            paramList.Add(new SqlParameter("@CreatedBy", userinfo.SigmaUserId.Trim()));
            SqlParameter outParam = new SqlParameter("@NewId", SqlDbType.Int);
            outParam.Direction = ParameterDirection.Output;
            paramList.Add(outParam);

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, CommandType.StoredProcedure, "usp_AddProgressType", paramList.ToArray());
                result.IsSuccessful = true;
                result.ScalarValue = (int)outParam.Value;

                scope.Complete();
            }

            return result;
        }
Пример #2
0
        public SigmaResultType AddProgressTypeInfo(TypeProgressType objProgressType)
        {
            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();
            SigmaResultType resultProgressType = new SigmaResultType();
            bool isProgressStep = true;

            if (objProgressType.ProgressStep.Count > 0)
            {
                var failCount = objProgressType.ProgressStep.Where(p => p.SigmaOperation == "C" && (p.Name.Trim() == "" || p.Weight <= 0)).Count();
                if (failCount > 0)
                    isProgressStep = false;

                var stepWeightSum = (from d in objProgressType.ProgressStep where d.SigmaOperation == SigmaOperation.INSERT || d.SigmaOperation == SigmaOperation.UPDATE select d.Weight).Sum();
                if (stepWeightSum != 100)
                    isProgressStep = false;
            }
            else if (objProgressType.ProgressStep.Count == 0)
            {
                isProgressStep = false;
            }

            if (!(string.IsNullOrEmpty(objProgressType.Name))
                && !(string.IsNullOrEmpty(objProgressType.Description))
                && isProgressStep
            )
            {
                using (scope = new TransactionScope(TransactionScopeOption.RequiresNew))
                {
                    if (objProgressType.SigmaOperation == SigmaOperation.INSERT)
                    {
                        resultProgressType = AddProgressType(objProgressType);
                        objProgressType.ProgressStep.ForEach(item => item.ProgressTypeId = resultProgressType.ScalarValue);
                    }
                    else if (objProgressType.SigmaOperation == SigmaOperation.UPDATE)
                    {
                        resultProgressType = UpdateProgressType(objProgressType);
                        objProgressType.ProgressStep.ForEach(item => item.ProgressTypeId = objProgressType.ProgressTypeId);
                    }

                    if (resultProgressType.IsSuccessful && objProgressType.ProgressStep.Count > 0)
                    {
                        foreach (var item in objProgressType.ProgressStep)
                        {
                            switch (item.SigmaOperation)
                            {
                                case SigmaOperation.INSERT:
                                    AddProgressStep(item);
                                    break;
                                case SigmaOperation.UPDATE:
                                    UpdateProgressStep(item);
                                    break;
                                case SigmaOperation.DELETE:
                                    RemoveProgressStep(item);
                                    break;
                            }
                        }
                    }

                    result.AffectedRow = resultProgressType.AffectedRow;
                    result.ScalarValue = resultProgressType.ScalarValue;
                    result.IsSuccessful = true;

                    scope.Complete();
                }
            }
            else
            {
                result.AffectedRow = -1;
                result.ErrorCode = "GlobalSetting0001";
                result.ErrorMessage = "Validation";
                result.IsSuccessful = false;
            }

            return result;
        }
Пример #3
0
        public SigmaResultType UpdateProgressType(TypeProgressType objProgressType)
        {
            TypeUserInfo userinfo = AuthMgr.GetUserInfo();

            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@ProgressTypeId", Utilities.ToInt32(objProgressType.ProgressTypeId.ToString().Trim())),
                new SqlParameter("@Name", objProgressType.Name.Trim()),
                new SqlParameter("@Description", objProgressType.Description.Trim()),
                new SqlParameter("@UpdatedBy", userinfo.SigmaUserId.Trim())
            };

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_UpdateProgressType", parameters);
                result.IsSuccessful = true;

                scope.Complete();
            }

            return result;
        }
Пример #4
0
        public SigmaResultType RemoveProgressType(TypeProgressType objProgressType)
        {
            SigmaResultType result = new SigmaResultType();
            TransactionScope scope = null;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@ProgressTypeId", Utilities.ToInt32(objProgressType.ProgressTypeId.ToString().Trim()))
            };

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_RemoveProgressType", parameters);
                result.IsSuccessful = true;

                scope.Complete();
            }

            return result;
        }
        public SigmaResultType UpdateProgressType(TypeProgressType objProgressType)
        {
            SigmaResultType result = new SigmaResultType();

            try
            {
                ProgressTypeMgr progressTypeMgr = new ProgressTypeMgr();
                result = progressTypeMgr.AddProgressTypeInfo(objProgressType);
                return result;
            }
            catch (Exception ex)
            {
                // Log Exception
                ExceptionHelper.logException(ex);
                result.IsSuccessful = false;
                result.ErrorMessage = ex.Message;
                return result;
            }
        }