public string ReceiptStatusBack(AddReceiptAndReceiptDetailRequest request, int ToStatus)
        {
            using (SqlConnection conn = new SqlConnection(BaseAccessor._dataBase.ConnectionString))
            {
                string message = "";
                try
                {
                    if (request.Receipts.Count() == 1)
                    {
                        SqlCommand cmd = new SqlCommand("[Proc_WMS_ReceiptReceivingStatusBack]", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@ID", request.Receipts.Select(m => m.ID).FirstOrDefault().ObjectToInt64());
                        cmd.Parameters[0].SqlDbType = SqlDbType.BigInt;
                        cmd.Parameters.AddWithValue("@ToStatus", ToStatus);
                        cmd.Parameters[1].SqlDbType = SqlDbType.Int;
                        cmd.Parameters.AddWithValue("@message", message);
                        cmd.Parameters[2].SqlDbType = SqlDbType.NVarChar;
                        cmd.Parameters[2].Direction = ParameterDirection.Output;
                        cmd.Parameters[2].Size      = 50;
                        cmd.CommandTimeout          = 300;
                        conn.Open();

                        DataSet        ds  = new DataSet();
                        SqlDataAdapter sda = new SqlDataAdapter();
                        sda.SelectCommand = cmd;
                        sda.Fill(ds);
                        message = sda.SelectCommand.Parameters["@message"].Value.ToString();
                        conn.Close();
                        return(message);
                    }
                    else
                    {
                        SqlCommand cmd = new SqlCommand("[Proc_WMS_ReceiptReceivingStatusBack_Batch]", conn);
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@Receipt", request.Receipts.Select(receipt => new WMSReceiptToDb(receipt)));
                        cmd.Parameters[0].SqlDbType = SqlDbType.Structured;
                        cmd.Parameters.AddWithValue("@ToStatus", ToStatus);
                        cmd.Parameters[1].SqlDbType = SqlDbType.Int;
                        cmd.Parameters.AddWithValue("@message", message);
                        cmd.Parameters[2].SqlDbType = SqlDbType.NVarChar;
                        cmd.Parameters[2].Direction = ParameterDirection.Output;
                        cmd.Parameters[2].Size      = 50;
                        cmd.CommandTimeout          = 300;
                        conn.Open();

                        DataSet        ds  = new DataSet();
                        SqlDataAdapter sda = new SqlDataAdapter();
                        sda.SelectCommand = cmd;
                        sda.Fill(ds);
                        message = sda.SelectCommand.Parameters["@message"].Value.ToString();
                        conn.Close();
                        return(message);
                    }
                }
                catch (Exception ex)
                {
                    return(message + "(" + ex.Message + ")");
                }
            }
        }
示例#2
0
        public Response <string> ReceiptStatusBack(AddReceiptAndReceiptDetailRequest request, int ToStatus)
        {
            Response <string> response = new Response <string>();
            string            message  = "";


            if (request == null || request.Receipts == null || !request.Receipts.Any())
            {
                ArgumentNullException ex = new ArgumentNullException("AddReceiptAndReceiptDetail request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }
            try
            {
                message = new ReceiptManagementAccessor().ReceiptStatusBack(request, ToStatus);
                if (message == "")
                {
                    response.Result    = message;
                    response.IsSuccess = true;
                }
                else
                {
                    response.Result    = message;
                    response.IsSuccess = false;
                }
                return(response);
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
                response.Result    = message + ex.Message;
            }

            return(response);
        }
示例#3
0
        public Response <string> AddReceiptAndReceiptDetail_ScanSKU(AddReceiptAndReceiptDetailRequest request, long CustomerID, string Creator)
        {
            Response <string> response = new Response <string>();
            string            message  = "";

            if (request == null)
            {
                ArgumentNullException ex = new ArgumentNullException("AddReceiptAndReceiptDetail_ScanSKU request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }
            try
            {
                message = new ReceiptManagementAccessor().AddReceiptAndReceiptDetail_ScanSKU(request, CustomerID, Creator);
                if (message == "")
                {
                    response.Result    = message;
                    response.IsSuccess = true;
                }
                else
                {
                    response.Result    = message;
                    response.IsSuccess = false;
                }
                return(response);
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
                response.Result    = message + ex.Message;
            }

            return(response);
        }