コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <param name="filterOperator"></param>
        /// <returns></returns>
        private static Collection <FilterCondition> CreateFindCondition(ITechnologyViewModel model, FilterOperator filterOperator)
        {
            var conditions = new Collection <FilterCondition>();

            if (!string.IsNullOrEmpty(model.Name))
            {
                conditions.Add(new FilterCondition("Name", filterOperator, model.Name));
            }
            if (!string.IsNullOrEmpty(model.ColorCode))
            {
                conditions.Add(new FilterCondition("ColorCode", filterOperator, model.ColorCode));
            }
            if (!string.IsNullOrEmpty(model.Code))
            {
                conditions.Add(new FilterCondition("Code", filterOperator, model.Code));
            }
            if (!string.IsNullOrEmpty(model.Status))
            {
                conditions.Add(new FilterCondition("Status", filterOperator, model.Status));
            }
            if (!string.IsNullOrEmpty(model.Description))
            {
                conditions.Add(new FilterCondition("Description", filterOperator, model.Description));
            }
            return(conditions);
        }
コード例 #2
0
        /// <summary>
        /// Method to Add the New Technology to the DataBase
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ITechnologyViewModel> Add(ITechnologyViewModel model)
        {
            //var conditions = CreateFindCondition(model, FilterOperator.Or);
            var data = await GetAll();

            if (data != null && data.Any(o => o.Code == model.Code || o.ColorCode == model.ColorCode || o.Name == model.Name))
            {
                throw new OneDATException(OneDATExceptionCode.AlreadyExists);
            }
            else
            {
                return(await _technologyRepository.Add(model));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Put(ITechnologyViewModel technology)
        {
            try
            {
                var data = await Service.Update(technology);

                return(Ok(new OneDATApiResponse("Updated Successfully", data)));
            }
            catch (OneDATException ex)
            {
                return(BadRequest(new OneDATApiResponse(ex.Message, false)));
            }
            catch (Exception ex)
            {
                return(ServerError("Error Updating Records in technology", false, ex));
            }
        }
コード例 #4
0
        /// <summary>
        ///  Method to Find Technology using Techonolgy Model
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ICollection <ITechnologyViewModel> > Find(ITechnologyViewModel model)
        {
            var conditions = CreateFindCondition(model, FilterOperator.Equal);

            if (conditions.Count > 0)
            {
                var tech = await _technologyRepository.Find(conditions);

                if (tech != null)
                {
                    return(tech);
                }
                else
                {
                    throw new OneDATException(OneDATExceptionCode.NotFound);
                }
            }
            else
            {
                return(default(ICollection <ITechnologyViewModel>));
            }
        }
コード例 #5
0
        public async Task <IActionResult> Post([FromBody] ITechnologyViewModel technology)
        {
            try
            {
                var data = await Service.Add(technology);

                return(Ok(new OneDATApiResponse("Inserted Successfully", data)));
            }
            catch (OneDATException ex)
            {
                if (ex.Code == OneDATExceptionCode.AlreadyExists)
                {
                    return(Conflict(new OneDATApiResponse("Data AlreadyExists", false)));
                }
                else
                {
                    return(BadRequest(new OneDATApiResponse(ex.Message, false)));
                }
            }
            catch (Exception ex)
            {
                return(ServerError("Error Adding Records in technology", false, ex));
            }
        }
コード例 #6
0
 /// <summary>
 /// Method to update Technology using Techonolgy Model
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public async Task <ITechnologyViewModel> Update(ITechnologyViewModel model)
 {
     return(await _technologyRepository.Update(model));
 }