๐Ÿ“–
BPackCore CodingConventions
  • ๊ณตํ†ต
  • Desktop Application
    • UI ๋””์ž์ธ ๋ฐ ์‹คํ–‰๊ตฌ์กฐ
    • ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ
    • ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„
      • Model
      • IPocket
      • Pocket
      • Zipper
      • Carrying
        • Args (FormArgs)
        • MainForm
        • SubForm
        • EditForm
        • StrapControl
        • FileUp/Download
      • Tips
    • ๋‹ค๊ตญ์–ด์ฒ˜๋ฆฌ
  • Web Application - Mobile
    • UI ๋””์ž์ธ
    • ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ
    • ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„
      • Model
      • Controller
      • View
      • Tips
    • ๋‹ค๊ตญ์–ด์ฒ˜๋ฆฌ
  • Database
    • ๋ช…๋ช…๊ทœ์น™
      • ์šฉ์–ด์‚ฌ์ „
    • SP ๊ตฌํ˜„
      • Template
      • ์ผ๋ จ๋ฒˆํ˜ธ๋ฐœํ–‰
    • ERD ์ž‘์„ฑ๊ทœ์น™ ๋ฐ ์ƒ˜ํ”Œ
  • ์†Œ์Šคํ˜•์ƒ๊ด€๋ฆฌ(Git/Gitlab)
  • WebAPI
Powered by GitBook
On this page
  • Mode - ModelArgs ์ƒ์„ฑ
  • ModelArgs Sample
  • Model ์ƒ์„ฑ
  • Model ์ข…๋ฅ˜
  • Model Sample
  • Model Annotations
  • Pocket ์ƒ์„ฑ
  1. Web Application - Mobile
  2. ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„

Model

Previous๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„NextController

Last updated 5 years ago

Mode - ModelArgs ์ƒ์„ฑ

Modelsํด๋” โ€“ ์—…๋ฌด๋ชจ๋“ˆํด๋” โ€“ ํ”„๋กœ๊ทธ๋žจ์ฝ”๋“œํด๋”๋‚ด ์ƒ์„ฑ : Models.์—…๋ฌด๋ชจ๋“ˆ.ํ”„๋กœ๊ทธ๋žจ์ฝ”๋“œ.XxxModelArgs.cs ex) Models.MM.PurInBound.PurInBoundModelArgs.cs

ModelArgs Sample

namespace BPackWebMobile.Models.MM.PurInBound
{
    public class PurInBoundModelArgs : ModelArgsBase
    {
        public string Select_Pih_No { get; set; }
        public string Select_Hu_No { get; internal set; }
    }
}

ModelArgsBase ์ƒ์† Select ์—์„œ ์‚ฌ์šฉํ•  PID_NO์˜ ์กฐ๊ฑด ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

Model ์ƒ์„ฑ

์—…๋ฌด๋ชจ๋“ˆํด๋”, ์—…๋ฌด๊ธฐ๋Šฅํด๋” ์•„๋ž˜ ํ•„์š”ํ•œ Model ์„ ์ƒ์„ฑํ•œ๋‹ค. (โ€‹ํ•ด๋‹น ์—…๋ฌด๊ธฐ๋Šฅ ํด๋”๋‚ด Pocket ํŒŒ์ผ๋„ ํฌํ•จํ•œ๋‹ค.)

์˜ˆ) Models/MM/PurInBound/PurInBoundHeaderModel.cs

ModelBase ์ƒ์†

public class MovLocHeaderModel : ModelBase
{

}

Model ์ข…๋ฅ˜

Header - XxxHeaderModel Detail - XxxDetailModel Insert์šฉ๋„ - XxxInsertModel BusinessProcess ์šฉ๋„ - XxxBpModel ์š”์ฒญParameters - XxxParamsModel ๋“ฑ... ์ƒํ™ฉ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์šฉ๋„๋กœ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉ

Model Sample

public class PurInBoundHeaderModel : ModelBase
{
    [Display(Name = "๊ตฌ๋งค์ž…๊ณ ๋ฒˆํ˜ธ")]
    public string PIH_NO { get; set; }
    [Display(Name = "ํšŒ์‚ฌ์ฝ”๋“œ")]
    public string COMP_CD { get; set; }
    [Display(Name = "๊ฑฐ๋ž˜์ฒ˜")]
    public string BP_CD { get; set; }
    [Display(Name = "์ž…๊ณ ๊ณต์žฅ")]
    public string IN_PLANT_CD { get; set; }
    [Display(Name = "์ž…๊ณ ์˜ˆ์ •๋ฒˆํ˜ธ")]
    public string DO_NO { get; set; }
    [Display(Name = "์ฒ˜๋ฆฌ์ผ์‹œ")]
    public DateTime? CLOSE_DTTM { get; set; }
    [Display(Name = "์ž…๊ณ ์ฒ˜๋ฆฌ์ƒํƒœ")]
    public string PIH_STATUS { get; set; }
    [Display(Name = "๋น„๊ณ ")]
    public string REMARK { get; set; }
    [Display(Name = "์ƒ์„ฑ์ผ์‹œ")]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}")]
    public DateTime CREATE_DTTM { get; set; }
    [Display(Name = "์ˆ˜์ •์ผ์‹œ")]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd HH:mm}")]
    public DateTime MODIFY_DTTM { get; set; }
    [Display(Name = "์ƒ์„ฑ์ž")]
    public string CREATE_USER_ID { get; set; }
    [Display(Name = "์ˆ˜์ •์ž")]
    public string MODIFY_USER_ID { get; set; }
}

Model Annotations

[Display(Name = "ํ’ˆ๋ฒˆ")]
[DisableParam(Insert = False) //Insert ์ฒ˜๋ฆฌ์‹œ ์ œ์™ธํ•œ๋‹ค.(Select,Insert,Update,Delete ์†์„ฑ์ด ์žˆ๋‹ค)
public string ITEM_CD { get; set; }

[Display(Name = "ํ’ˆ๋ช…")]
[DisableParam] //CRUD ๋ชจ๋“  ์ฒ˜๋ฆฌ์˜ Parameter์—์„œ ์ œ์™ธํ•œ๋‹ค.
public string ITEM_CD { get; set; }

Pocket ์ƒ์„ฑ

Modelsํด๋” โ€“ ์—…๋ฌด๋ชจ๋“ˆํด๋” โ€“ ํ”„๋กœ๊ทธ๋žจ์ฝ”๋“œํด๋”๋‚ด ์ƒ์„ฑ : Models.์—…๋ฌด๋ชจ๋“ˆ.ํ”„๋กœ๊ทธ๋žจ์ฝ”๋“œ.XxxPocket.cs ex) Models.MM.PurInBound.PurInBoundPocket.cs

using BPackWebMobile.Models.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace BPackWebMobile.Models.MM.PurInBound
{
    public class PurInBoundPocket : PocketBase
    {
        public List<PurInBoundHeaderModel> SelectPurInboundHeaderModels(PurInBoundModelArgs args)
        {
            return PocketQuery<PurInBoundHeaderModel>("SELECT * FROM MM_PUR_INPH", null, System.Data.CommandType.Text);
        }

        public List<PurInBoundHuModel> SelectPurInboundHuModels(PurInBoundModelArgs args)
        {
            //์ƒ˜ํ”Œ ์ฟผ๋ฆฌ๋ฌธ
            string sql = @"
SELECT 
      ROW_NUMBER() OVER(ORDER BY IU.CREATE_DTTM) AS ROW_NO
    , IU.PIH_NO
	, IU.HU_NO       
    , HM.ITEM_CD
	, HM.HU_INIT_QTY
	, HM.HU_STOCK_QTY
	, IU.INHU_INSP_STATUS    
	, IU.INHU_IN_STATUS      
	, IU.IN_DTTM             
	, IU.REMARK              
	, IU.DEL_FG              
	, IU.CREATE_DTTM         
	, IU.MODIFY_DTTM         
	, IU.CREATE_USER_ID      
	, IU.MODIFY_USER_ID      
FROM MM_PUR_INHU AS IU
JOIN MM_HUM_MAST AS HM ON IU.HU_NO = HM.HU_NO
WHERE IU.PIH_NO = @PIH_NO
";
            return PocketQuery<PurInBoundHuModel>(sql, new { PIH_NO = args.Select_Pih_No }, System.Data.CommandType.Text);
        }

        public void InsertPurInboundHuModels(List<PurInBoundHuModel> purInHuModels)
        {
            PocketExecute("MM.PurInbound.Pda.InHu.Insert", ConvertParameters(purInHuModels, Crud.Insert));
        }

        internal void DeletePurInboundHuModel(PurInBoundModelArgs args)
        {
            PocketExecute("MM.PurInbound.Pda.InHu.Delete", new { PIH_NO = args.Select_Pih_No, HU_NO = args.Select_Hu_No });
        }

        public void InsertPurInBoundHeaderDetail(PurInBoundHeaderModel  purInBoundHeaderModel, List<PurInBoundHuModel> purInBoundHuModels)
        {
            HeaderDetailModelArgs headerDetailModelArgs = new HeaderDetailModelArgs() {
                HeaderPK = new string[] { "PIH_NO" },
                HeaderQueryID = "MM.PurInbound.Pda.InHeader.Insert",
                DetailFK = new string[] { "PIH_NO" },
                DetailQueryID = "MM.PurInbound.Pda.InHu.Insert"
            };
            PocketInsertHeaderDetail<PurInBoundHeaderModel, PurInBoundHuModel>(purInBoundHeaderModel, purInBoundHuModels, headerDetailModelArgs);
        }
    }
}