コード例 #1
0
        public IHttpActionResult Create([FromBody] CabangDTO cabang)
        {
            ThrowIfUserHasNoRole(createRole);
            if (cabang == null)
            {
                throw new KairosException("Missing model parameter");
            }

            if (cabang.Cabang_PK != 0)
            {
                throw new KairosException("Post method is not allowed because the requested primary key is must be '0' (zero) .");
            }
            using (var cabangCreateHandler = new CabangCreateHandler(Db, ActiveUser, new CabangValidator(), new CabangFactory(Db, ActiveUser), new CabangQuery(Db), AccessControl))
            {
                using (var transaction = new TransactionScope())
                {
                    var saveResult = cabangCreateHandler.Save(cabangDTO: cabang, dateStamp: DateTime.Now);
                    transaction.Complete();
                    if (saveResult.Success)
                    {
                        return(Ok(new SuccessResponse(saveResult.Model, saveResult.Message)));
                    }
                    return(Ok(new ErrorResponse(ServiceStatusCode.ValidationError, saveResult.ValidationResult, saveResult.Message)));
                }
            }
        }
コード例 #2
0
 public void Update(CabangDTO cabangDTO, DateTime dateStamp)
 {
     if (cabangDTO == null)
     {
         throw new ArgumentNullException("Cabang model is null.");
     }
     tblM_Cabang cabang = cabangFactory.CreateFromDbAndUpdateFromDTO(cabangDTO, dateStamp);
 }
コード例 #3
0
        public tblM_Cabang Insert(CabangDTO cabangDTO, DateTime dateStamp)
        {
            if (cabangDTO == null)
            {
                throw new ArgumentNullException("Cabang model is null.");
            }
            tblM_Cabang cabang = cabangFactory.CreateFromDTO(cabangDTO, dateStamp);

            return(Db.tblM_Cabang.Add(cabang));
        }
コード例 #4
0
        private CabangEntryModel GetCreateStateModel()
        {
            CabangEntryFormData formData     = new CabangEntryFormData();
            List <Control>      formControls = CreateFormControls(0);
            CabangDTO           cabangDTO    = new CabangDTO();

            return(new CabangEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = new CabangDTO(),
            });
        }
コード例 #5
0
        private CabangEntryModel GetUpdateStateModel(int cabangPK)
        {
            CabangEntryFormData formData     = new CabangEntryFormData();
            List <Control>      formControls = CreateFormControls(cabangPK);
            CabangDTO           cabangDTO    = cabangQuery.GetByPrimaryKey(cabangPK);

            if (cabangDTO == null)
            {
                throw new KairosException($"Record with primary key '{cabangDTO.Cabang_PK}' is not found.");
            }

            return(new CabangEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = cabangDTO,
            });
        }
コード例 #6
0
        public SaveResult <CabangEntryModel> Save(CabangDTO cabangDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = cabangValidator.Validate(cabangDTO);
            bool             success = false;
            CabangEntryModel model   = null;

            if (validationResult.IsValid)
            {
                success = true;
                Update(cabangDTO, dateStamp);
                Db.SaveChanges();
                model = cabangEntryDataProvider.Get(cabangDTO.Cabang_PK);
            }

            return(new SaveResult <CabangEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
コード例 #7
0
        public CabangDTO GetByPrimaryKey(int primaryKey)
        {
            CabangDTO record = GetQuery().FirstOrDefault(cabang => cabang.Cabang_PK == primaryKey);

            return(record);
        }