/// <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); }
/// <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)); } }
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)); } }
/// <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>)); } }
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)); } }
/// <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)); }