public IHttpActionResult DoSOWResult([FromBody] SOWResultDTO sowResult)
        {
            string accessType = "";

            ThrowIfUserHasNoRole(accessType);
            if (sowResult == null)
            {
                throw new KairosException("Missing model parameter");
            }

            using (var updateHandler = new SOWResultUpdateHandler(Db, ActiveUser, new SOWResultValidator(), new SOWResultFactory(Db, ActiveUser), new SOWResultQuery(Db), AccessControl))
            {
                using (var transaction = new TransactionScope())
                {
                    var saveResult = updateHandler.Save(sowResultDTO: sowResult, dateStamp: DateTime.Now);
                    transaction.Complete();
                    if (saveResult.Success)
                    {
                        return(Ok(new
                        {
                            status = true
                        }));
                    }
                    return(Ok(new
                    {
                        status = false,
                        msg = saveResult.ValidationResult.Errors.Count > 0 ? saveResult.ValidationResult.Errors[0].Message : saveResult.Message,
                        validationResult = saveResult.ValidationResult
                    }));
                }
            }
        }
Пример #2
0
        private SOWResultEntryModel GetCreateStateModel()
        {
            SOWResultEntryFormData formData     = new SOWResultEntryFormData();
            List <Control>         formControls = CreateFormControls(0);
            SOWResultDTO           sowResultDTO = new SOWResultDTO();

            return(new SOWResultEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = sowResultDTO,
            });
        }
Пример #3
0
        private SOWResultEntryModel GetUpdateStateModel(int sowResultPK)
        {
            SOWResultEntryFormData formData     = new SOWResultEntryFormData();
            List <Control>         formControls = CreateFormControls(sowResultPK);
            SOWResultDTO           sowResultDTO = sowResultQuery.GetByPrimaryKey(sowResultPK);

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

            return(new SOWResultEntryModel()
            {
                FormData = formData,
                FormControls = formControls,
                Model = sowResultDTO,
            });
        }
        public IHttpActionResult DoSubmitUrl([FromBody] SOWResultDTO sowResultDTO)
        {
            string accessType = "";

            ThrowIfUserHasNoRole(accessType);
            if (sowResultDTO == null)
            {
                throw new KairosException("Missing model parameter");
            }

            if (sowResultDTO.SOWResult_PK != 0)
            {
                throw new KairosException("Post method is not allowed because the requested primary key is must be '0' (zero) .");
            }
            using (var createHandler = new SOWResultCreateHandler(Db, ActiveUser, new SOWResultValidator(), new SOWResultFactory(Db, ActiveUser), new SOWResultQuery(Db), AccessControl))
            {
                using (var transaction = new TransactionScope())
                {
                    var saveResult = createHandler.Save(sowResultDTO: sowResultDTO, dateStamp: DateTime.Now);
                    transaction.Complete();
                    if (saveResult.Success)
                    {
                        return(Ok(new
                        {
                            status = true,
                        }));
                    }
                    return(Ok(new
                    {
                        status = false,
                        msg = saveResult.ValidationResult.Errors.Count > 0 ? saveResult.ValidationResult.Errors[0].Message : saveResult.Message,
                        validationResult = saveResult.ValidationResult
                    }));
                }
            }
        }