Ejemplo n.º 1
0
        /// <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();
            }
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
    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;
        }
    }