/// <summary> /// This function Updates iSmart Details into the Database /// </summary> /// <param name="is_entry_DAL"></param> /// <returns> /// <paramref name="result"/> /// </returns> /// <history> /// Hari haran 08/05/2012 created /// </history> public iSmart_UpdateOutputEntity updatePurchaseRequest_DAL(iSmart_UpdateInputEntity[] is_entry_DAL) { logger.Debug("iSmart_DAL: updatePurchaseRequest_DAL() called"); iSmart_UpdateOutputEntity result = new iSmart_UpdateOutputEntity(); databaseLayer dbConStr = new databaseLayer(); string connStr = dbConStr.connectionInfo; //logger.Debug("Connection string : " + connStr); SqlConnection conn = new SqlConnection(connStr); SqlTransaction Trans = null; int updateOpflag = 0; if (conn.State == System.Data.ConnectionState.Closed) { conn.Open(); logger.Debug("Connection Status opened "); } logger.Debug("Connetion to the database established"); int objCount = 0; SqlCommand update_cmd = new SqlCommand(); update_cmd.Connection = conn; update_cmd.CommandType = CommandType.StoredProcedure; Trans = conn.BeginTransaction("UpdateTransaction"); update_cmd.Transaction = Trans; SqlDataReader dr; string updateQuery = "ITRMSMobileUpdateData"; update_cmd.Parameters.Add("@PREQNo", SqlDbType.VarChar); update_cmd.Parameters.Add("@Status", SqlDbType.Int); update_cmd.Parameters.Add("@EmpID", SqlDbType.VarChar); update_cmd.Parameters.Add("@PurGrpMember", SqlDbType.VarChar); update_cmd.Parameters.Add("@ItemTransactionid", SqlDbType.VarChar); update_cmd.Parameters.Add("@AucNo", SqlDbType.VarChar); update_cmd.Parameters.Add("@CustomerPONum", SqlDbType.VarChar); update_cmd.Parameters.Add("@Remarks", SqlDbType.VarChar); update_cmd.Parameters.Add("@RejectedTo", SqlDbType.VarChar); update_cmd.Parameters.Add("@AdditionalApprover", SqlDbType.VarChar); update_cmd.Parameters.Add("@Flag", SqlDbType.VarChar); update_cmd.Parameters.Add("@Mobilerole", SqlDbType.VarChar); try { foreach (iSmart_UpdateInputEntity isEntry_value in is_entry_DAL) { logger.DebugFormat("Object Count in Input array is_entry_DAL : {0}",objCount.ToString()); update_cmd.CommandText = updateQuery; update_cmd.Parameters["@PREQNo"].Value = isEntry_value.PReqNo; update_cmd.Parameters["@Status"].Value = isEntry_value.Status; update_cmd.Parameters["@EmpID"].Value = isEntry_value.EmpID; update_cmd.Parameters["@PurGrpMember"].Value = isEntry_value.PurGrpMember; update_cmd.Parameters["@ItemTransactionid"].Value = isEntry_value.ItemTransactionId; update_cmd.Parameters["@AucNo"].Value = isEntry_value.AucNo; update_cmd.Parameters["@CustomerPONum"].Value = isEntry_value.CustomerPONum; update_cmd.Parameters["@Remarks"].Value = isEntry_value.PReqRemarks; update_cmd.Parameters["@RejectedTo"].Value = isEntry_value.RejectedTo; update_cmd.Parameters["@AdditionalApprover"].Value = isEntry_value.AssignTo; update_cmd.Parameters["@Flag"].Value = "Details"; update_cmd.Parameters["@Mobilerole"].Value = isEntry_value.ActionByRole; QueryLog.CmdInfo(update_cmd); dr = update_cmd.ExecuteReader(); dr.NextResult(); if (dr.HasRows) { dr.Read(); if (dr["StatusFlag"].Equals(0)) { dr.Close(); updateOpflag = 0; objCount++; } else { dr.Close(); updateOpflag = 1; break; } } else { dr.Close(); updateOpflag = 1; break; } } if (updateOpflag == 0) { update_cmd.CommandText = updateQuery; update_cmd.Parameters["@PREQNo"].Value = is_entry_DAL[0].PReqNo; update_cmd.Parameters["@Status"].Value = is_entry_DAL[0].Status; update_cmd.Parameters["@EmpID"].Value = is_entry_DAL[0].EmpID; update_cmd.Parameters["@PurGrpMember"].Value = is_entry_DAL[0].PurGrpMember; update_cmd.Parameters["@ItemTransactionid"].Value = is_entry_DAL[0].ItemTransactionId; update_cmd.Parameters["@AucNo"].Value = is_entry_DAL[0].AucNo; update_cmd.Parameters["@CustomerPONum"].Value = is_entry_DAL[0].CustomerPONum; update_cmd.Parameters["@Remarks"].Value = is_entry_DAL[0].PReqRemarks; update_cmd.Parameters["@RejectedTo"].Value = is_entry_DAL[0].RejectedTo; update_cmd.Parameters["@AdditionalApprover"].Value = is_entry_DAL[0].AssignTo; update_cmd.Parameters["@Mobilerole"].Value = is_entry_DAL[0].ActionByRole; update_cmd.Parameters["@Flag"].Value = "Header"; logger.Debug("Updating the Header Details of iSmart UpdateInput Entity"); QueryLog.CmdInfo(update_cmd); dr = update_cmd.ExecuteReader(); dr.NextResult(); if (dr.HasRows) { dr.Read(); if (dr["StatusFlag"].Equals(0)) { dr.Close(); Trans.Commit(); result.StatusFlag = 0; result.Message = iSmart_Constants.Success; logger.Info("Operation : Update operation executed successfully"); } else { dr.Close(); Trans.Rollback("UpdateTransaction"); logger.Error("Transaction Rollback Executed"); result.StatusFlag = 1; result.Message = iSmart_Constants.Error; logger.Error("Operation : Update operation Failed"); } } else { dr.Close(); Trans.Rollback("UpdateTransaction"); logger.Error("Transaction Rollback Executed"); result.StatusFlag = 1; result.Message = iSmart_Constants.Error; logger.Error("Operation : Update operation Failed"); } } else { Trans.Rollback("UpdateTransaction"); logger.Error("Transaction Rollback Executed"); result.StatusFlag = 1; result.Message = iSmart_Constants.Error; logger.Error("Operation : Update Error - Invalid parameter values"); } logger.Info("iSmart_DAL: updatePurchaseRequest_DAL() Stop"); return result; } catch (SqlException dbEx) { logger.Error("SQL Exception Occured At iSmart_DAL - updatePurchaseRequest_DAL : "); logger.Error("Exception Code : " + dbEx.Number.ToString()); logger.Error("Exception Description : " + dbEx.Message.ToString()); logger.Error("iSmart_DAL: updatePurchaseRequest_DAL() returning error"); try { logger.Error("Transaction Rollback Executed"); Trans.Rollback("UpdateTransaction"); } catch (Exception ex2) { logger.Error("Tranasction Rollback Failed : " + ex2.Message.ToString()); //throw ex2; } throw dbEx; } catch (Exception ex) { logger.Error("Exception Occured At iSmart_DAL - updatePurchaseRequest_DAL : " + ex.Message.ToString()); logger.Error("iSmart_DAL: updatePurchaseRequest_DAL() returning error"); try { logger.Error("Transaction Rollback Executed"); Trans.Rollback("UpdateTransaction"); } catch (Exception ex2) { logger.Error("Transaction Rollback Failed : "+ex2.Message.ToString()); //throw ex2; } //throw new myCustomException(32, ex.Message); throw ex; } finally { logger.Debug("Connection Status Closed "); conn.Dispose(); } }
/// <summary> /// This Method validates the input parameters for the updatePurchaseRequest function /// </summary> /// <param name="entry_BAL"></param> /// <returns></returns> /// <history> /// Hari haran 08/05/2012 created /// </history> public iSmart_UpdateOutputEntity updatePurchaseRequest_BAL(iSmart_UpdateInputEntity[] entry_BAL) { try { logger.Debug("iSmart_BAL: updatePurchaseRequest_BAL() called"); logger.Debug("updatePurchaseRequest_BAL PReqNo value : " + entry_BAL[0].PReqNo.ToString()); iSmart_UpdateOutputEntity errRes = new iSmart_UpdateOutputEntity(); errRes.StatusFlag = 1; errRes.Message = iSmart_Constants.Error; int validate_tsParamFlag = 0; validate_tsParamFlag = validate_isParam(entry_BAL); logger.Debug("iSmart Input parameter validation flag value(success = 0/failure = 1) : " + validate_tsParamFlag.ToString()); if (validate_tsParamFlag == 1) { logger.Debug("Error in input parameter values"); logger.Debug("ErrorCode = " + errRes.StatusFlag.ToString()); logger.Debug("ErrorMessage = " + errRes.Message); logger.Error("Method : getiSmartDetails_BAL validation failed"); return errRes; } else { string iSmartStatus = string.Empty; iSmart_DAL updateIS_DAL = new iSmart_DAL(); iSmartStatus = updateIS_DAL.getISmartStatus(entry_BAL[count].PReqNo); logger.Debug("iSmartStatus value : " + iSmartStatus.ToString()); logger.Debug("EmpId value (To be same as iSmartStatus for Updation) : " + entry_BAL[count].EmpID.ToString()); if (string.IsNullOrEmpty(iSmartStatus)) { errRes.StatusFlag = 1; //errRes.Message = iSmart_Constants.PReqNoInvalid; errRes.Message = string.Format(iSmart_Constants.preqErrFormat, entry_BAL[count].PReqNo); logger.Debug("ErrorCode = " + errRes.StatusFlag.ToString()); logger.Debug("ErrorMessage = " + errRes.Message); logger.Error("Method : getiSmartDetails_BAL validation failed"); return errRes; } else if (iSmartStatus.Equals(entry_BAL[count].EmpID)) { return (updateIS_DAL.updatePurchaseRequest_DAL(entry_BAL)); } else { errRes.StatusFlag = 1; //errRes.Message = "EmpId Miss Match"; errRes.Message = string.Format(iSmart_Constants.preqErrFormat,entry_BAL[count].PReqNo); logger.Debug("ErrorCode = " + errRes.StatusFlag.ToString()); logger.Debug("ErrorMessage = " + errRes.Message); logger.Error("Method : updatePurchaseRequest_BAL Stop"); return errRes; } } } catch (SqlException dbEx) { logger.Error("Exception At BAL - updatePurchaseRequest_BAL : " + dbEx.Message.ToString()); logger.Error("iSmart_BAL:updatePurchaseRequest_BAL() returning error"); throw dbEx; } catch (Exception ex) { logger.Fatal("Exception At BAL - updatePurchaseRequest_BAL : " + ex.Message.ToString()); logger.Error("iSmart_BAL:updatePurchaseRequest_BAL() returning error"); throw ex; } }
public iSmart_UpdateOutputEntity updatePurchaseRequest([XmlElement("IS_Input")] iSmart_UpdateInputEntity[] IS_Entry) { logger.Debug("Service:updatePurchaseRequest() called"); logger.Debug(string.Format("PReqNo. received as {0} for update ", IS_Entry[0].PReqNo.ToString())); iSmart_UpdateOutputEntity result = new iSmart_UpdateOutputEntity(); try { iSmartInterface updateTS_IS = new iSmartInterface(); result = updateTS_IS.updatePurchaseRequest_SI(IS_Entry); return result; } catch (SqlException ex) { webServiceExHandling.ExceptionLog(ex); string mailBody = string.Format(iSmart_Constants.mail_BodyFormat, System.DateTime.Now.ToString("F"), IS_Entry[0].PReqNo, ex.TargetSite.ToString(), ex.ToString()); webServiceExHandling.Send_Email(iSmart_Constants.Email_Dic, mailBody); result.StatusFlag = 1; string expCode = ExpType(ex); result.Message = iSmart_Constants.cnfgErrMessages[expCode]; logger.Error(string.Format(" ErrorCode : {0}", result.StatusFlag.ToString())); logger.Error(string.Format(" ErrorMessage : {0}", result.Message)); logger.Error(string.Format(" ErrorStack : {0}", ex.StackTrace)); logger.Error("Service:updatePurchaseRequest() returning error"); return result; } catch (Exception ex) { webServiceExHandling.ExceptionLog(ex); string mailBody = string.Format(iSmart_Constants.mail_BodyFormat, System.DateTime.Now.ToString("F"), getPreqNo(IS_Entry), ex.TargetSite.ToString(), ex.ToString()); webServiceExHandling.Send_Email(iSmart_Constants.Email_Dic, mailBody); result.StatusFlag = 1; result.Message = iSmart_Constants.Error; logger.Error(string.Format(" ErrorCode : {0}", result.StatusFlag.ToString())); logger.Error(string.Format(" ErrorMessage : {0}", result.Message)); logger.Error(string.Format(" ErrorStack : {0}", ex.StackTrace)); logger.Error("Service:updatePurchaseRequest() returning error"); return result; } }