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