/// <summary> /// Create Country entity /// </summary> /// <param name="model"></param> /// <returns></returns> public static Country Create(CountryMiniModel model) { return(new Country() { Code = model.Code, Name = model.Name, Id = Guid.NewGuid().ToString(), CreatedAt = DateTime.Now, IsApproved = true, IsRestricted = false, ModifiedAt = DateTime.MinValue, RecordStatus = RecordStatus.ACTIVE }); }
/// <summary> /// Validate Country /// </summary> /// <param name="model"></param> /// <param name="errormsg"></param> /// <returns></returns> public static bool ValidateModel(CountryMiniModel model, out string errormsg) { errormsg = string.Empty; if (model == null) { errormsg = "Country Name and Code Required"; return(false); } if (string.IsNullOrEmpty(model.Name.Trim())) { errormsg = "Country Name Required"; return(false); } if (string.IsNullOrEmpty(model.Code.Trim())) { errormsg = "Country Code Required"; return(false); } return(true); }
public async Task <ActionResult <DataResponse <CountryExtModel> > > Post([FromBody] CountryMiniModel model) { DataResponse <CountryExtModel> response = new DataResponse <CountryExtModel>(); CountryExtModel _DTO = null; string errorMsg = String.Empty; try { if (ModelState.IsValid && model != null) { // Custom Validations if (!CountryFactory.ValidateModel(model, out errorMsg)) { response.Code = ResponseCode.FAILED; response.Description = ResponseDescription.FAILED; response.Message = errorMsg; response.Data = _DTO; return(BadRequest(response)); } // Check Entity Exist if (_unitOfWork.Countries.CheckExist(model.Name, model.Code, out errorMsg)) { response.Code = ResponseCode.FAILED; response.Description = ResponseDescription.FAILED; response.Message = errorMsg; response.Data = _DTO; return(BadRequest(response)); } // Generate entity var _entity = CountryFactory.Create(model); // Create user var _country = await _unitOfWork.Countries.InsertAsync(_entity).ConfigureAwait(false); int done = await _unitOfWork.CompleteAsync().ConfigureAwait(false); if (done > 0) { _DTO = _mapper.Map <CountryExtModel>(_country); response.Code = ResponseCode.SUCCESS; response.Description = ResponseDescription.SUCCESS; response.Message = null; response.Data = _DTO; return(Created(new Uri($"{Request.Path}/{_DTO.Id}", UriKind.Relative), _DTO)); } } response.Code = ResponseCode.FAILED; response.Description = ResponseDescription.FAILED; response.Message = "Invalid user input"; response.Data = _DTO; return(BadRequest(response)); } catch (Exception ex) { Guid _ErrorCode = Guid.NewGuid(); Log.Error("Fatal Error [{ErrorCode}]: {Message}", _ErrorCode, ex.Message); response.Code = ResponseCode.SYSTEM_ERROR; response.Description = ResponseDescription.SYSTEM_ERROR; response.Message = $"System Error: Something went wrong here! Kindly contact the support with this error code [{_ErrorCode}]"; response.Data = _DTO; return(BadRequest(response)); } }