Exemplo n.º 1
0
        public async Task <ErrorCodeLib.Models.ResultModel> PUT([FromBody] ExpenditureModel model)
        {
            var result = new ErrorCodeLib.Models.ResultModel();

            if (model.id == null)
            {
                result = ErrorCode.PARAMETER_REQUIRED(new string[] { "id" }, "cht");
                return(result);
            }

            //檢查expenditure
            var exist_expenditure = _repo_expenditure.FindById(Convert.ToInt32(model.id));

            if (exist_expenditure == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "id", "cht");
                return(result);
            }

            //檢查project
            var exist_project = _repo_project.FindById(Convert.ToInt32(model.project_id));

            if (exist_project == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "project_id", "cht");
                return(result);
            }

            //檢查partner
            var exist_partner = _repo_partner.FindById(Convert.ToInt32(model.partner_id));

            if (exist_partner == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "partner_id", "cht");
                return(result);
            }

            //檢查item
            var exist_item = _repo_item.FindById(Convert.ToInt32(model.item_id));

            if (exist_item == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "item_id", "cht");
                return(result);
            }

            model.updated = DateTime.Now;

            _repo_expenditure.Update(model);

            var exception_save = _unitOfWork.Save();

            if (exception_save != null)
            {
                result = ErrorCode.CUSTOM_ERROR(exception_save.Message, "DB ERROR", 500, "cht");
            }

            result = ErrorCode.SUCCESS(null, "修改成功", "cht");
            return(result);
        }
Exemplo n.º 2
0
        public async Task <ErrorCodeLib.Models.ResultModel> GET([FromQuery] ExpenditureModelForQuery model)
        {
            var result = new ErrorCodeLib.Models.ResultModel();

            var predicate = PredicateBuilder.True <ExpenditureModel>();

            if (model.partner_id != null)
            {
                predicate = predicate.And(a => a.partner_id == model.partner_id);
            }
            if (model.project_id != null)
            {
                predicate = predicate.And(a => a.project_id == model.project_id);
            }
            if (model.date_start != null)
            {
                predicate = predicate.And(a => a.project_.date_start >= model.date_start);
            }
            if (model.date_end != null)
            {
                predicate = predicate.And(a => a.project_.date_end <= model.date_end);
            }

            var query_result = _repo_expenditure.FindAll(predicate);

            result = ErrorCode.SUCCESS(query_result, "", "cht");
            return(result);
        }
Exemplo n.º 3
0
        public async Task <ErrorCodeLib.Models.ResultModel> POST([FromBody] ExpenditureModel model)
        {
            var result = new ErrorCodeLib.Models.ResultModel();

            //檢查project
            var exist_project = _repo_project.FindById(Convert.ToInt32(model.project_id));

            if (exist_project == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "project_id", "cht");
                return(result);
            }

            //檢查partner
            var exist_partner = _repo_partner.FindById(Convert.ToInt32(model.partner_id));

            if (exist_partner == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "partner_id", "cht");
                return(result);
            }

            //檢查item
            var exist_item = _repo_item.FindById(Convert.ToInt32(model.item_id));

            if (exist_item == null)
            {
                result = ErrorCode.DB_ERROR_NOT_FOUND(null, "item_id", "cht");
                return(result);
            }
            model.created = DateTime.Now;

            _repo_expenditure.Create(model);
            var exception_save = _unitOfWork.Save();

            if (exception_save != null)
            {
                result = ErrorCode.CUSTOM_ERROR(exception_save.Message, "DB ERROR", 500, "cht");
            }
            var output = new
            {
                model.id
            };

            result = ErrorCode.SUCCESS(null, "新增成功", "cht");
            return(result);
        }