첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using System;
using System.ServiceModel;

/// <summary>
/// 상점 클래스
/// </summary>
[ServiceContract(Namespace="http://company.com/bookstore")]
public class BookStore
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Field
    ////////////////////////////////////////////////////////////////////////////////////////// Static
    //////////////////////////////////////////////////////////////////////////////// Private

    #region Field

    /// <summary>
    /// 주문 ID
    /// </summary>
    private static int _orderID = 0;

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 취소하기 - Cancel(orderID)

    /// <summary>
    /// 취소하기
    /// </summary>
    /// <param name="orderID">주문 ID</param>
    /// <returns>처리 결과</returns>
    [OperationContract]
    public bool Cancel(int orderID)
    {
        Console.WriteLine("취소 주문 : 주문 ID={0}", orderID);

        return true;
    }

    #endregion

    ////////////////////////////////////////////////////////////////////////////////////////// Protected

    #region 주문하기 - OrderID(userID, isbn, amount)

    /// <summary>
    /// 주문하기
    /// </summary>
    /// <param name="userID">사용자 ID</param>
    /// <param name="isbn">IDBN</param>
    /// <param name="amount">수량</param>
    /// <returns>주문 ID</returns>
    [OperationContract]
    protected int Order(string userID, string isbn, int amount)
    {
        int price = GetUnitPrice(isbn) * amount;

        _orderID += 1;

        Console.WriteLine
        (
            "주문 도서 : 주문 ID={0}\n            사용자 ID={1}, ISBN={2}, 수량={3}, 가격={4}",
            _orderID,
            userID,
            isbn,
            amount,
            price
        );

        return _orderID;
    }

    #endregion

    ////////////////////////////////////////////////////////////////////////////////////////// Private

    #region 단가 구하기 - GetUnitPrice(isbn)

    /// <summary>
    /// 단가 구하기
    /// </summary>
    /// <param name="isbn">ISBN</param>
    /// <returns>단가</returns>
    private int GetUnitPrice(string isbn)
    {
        return 35000;
    }

    #endregion
}
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요