private async Task <(LibraryBookApiModel libraryBook, LibraryUserApiModel libraryuser)> GetBookAndUser(string libraryBookCode, string libraryUserCode) { LibraryBookApiModel libraryBook = null; LibraryUserApiModel libraryuser = null; var(libraryBookResponse, libraryUserResponse) = await TaskEx.WhenAllTwo(_libraryBookClient.GetLibraryBookByLibraryBookCode(libraryBookCode), _libraryUserClient.GetLibraryUserByLibraryUserCode(libraryUserCode)); if (libraryBookResponse.StatusIsSuccessful) { libraryBook = libraryBookResponse.Data; } else { AddResponseErrorsToModelState(libraryBookResponse); } if (libraryUserResponse.StatusIsSuccessful) { libraryuser = libraryUserResponse.Data; } else { AddResponseErrorsToModelState(libraryUserResponse); } return(libraryBook : libraryBook, libraryuser : libraryuser); }
public async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "insertlibraryuser")] HttpRequest req, ILogger log) { try { var result = _tokenProvider.ValidateToken(req); if (result.Status == AccessTokenStatus.Valid) { log.LogInformation($"Request received for {result.Principal.Identity.Name}."); } else { return(new UnauthorizedResult()); } string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); LibraryUserApiModel model = JsonConvert.DeserializeObject <LibraryUserApiModel>(requestBody); if (model == null) { return(new BadRequestObjectResult("Please pass LibraryUserApiModel in the request body")); } int retVal = 0; string libraryUserCode = string.Empty; if (model != null) { model.CreatedBy = _tokenProvider.User; model.DateCreated = DateTime.Now; model.ModifiedBy = _tokenProvider.User; model.DateModified = DateTime.Now; retVal = _libraryUserWebApiManager.InsertLibraryUser(model, out libraryUserCode); } if (retVal < 1) { return(new BadRequestObjectResult("Failed to insert record")); } return((ActionResult) new OkObjectResult(new ContentResult { Content = libraryUserCode, ContentType = "text/plain", StatusCode = 200 })); } catch (Exception ex) { log.LogError($"Caught exception: {ex.Message}"); return(new BadRequestObjectResult(ex.Message)); } }
/// <summary> /// Get a LibraryUser by it's id /// </summary> /// <param name="LibraryUserCode"></param> /// <returns>The <see cref="LibraryUserApiModel"/> </returns> public LibraryUserApiModel GetLibraryUserByLibraryUserCode(string LibraryUserCode) { LibraryUserApiModel LibraryUserApiModel = null; using (var connection = this.OpenConnection()) { LibraryUserApiModel = connection.Query <LibraryUserApiModel>(@"SELECT C.LibraryUserCode, C.Title, C.Name, C.PhoneNumber, C.MobilePhoneNumber, C.Email, C.AlternativePhoneNumber, C.AlternativeEmail, C.AddressLine1, C.AddressLine2, C.AddressLine3, C.City, C.County, C.Country, C.Postcode, C.GDPRInformedDate,C.GDPRInformedBy,C.GDPRHowInformed,C.GDPRNotes,C.LibraryUserByPost,C.LibraryUserByPostConsentDate,C.LibraryUserByEmail, C.LibraryUserByEmailConsentDate,C.LibraryUserByPhone,C.LibraryUserByPhoneConsentDate,C.LibraryUserBySMS,C.LibraryUserBySMSConsentDate, C.DateCreated, C.CreatedBy, C.DateModified, C.ModifiedBy FROM LibraryUser C WHERE C.LibraryUserCode = @LibraryUserCode" , new { LibraryUserCode }).SingleOrDefault(); } return(LibraryUserApiModel); }
public static LibraryUserViewModel CreateLibraryUserViewModel(LibraryUserApiModel apiModel) { return(new LibraryUserViewModel() { LibraryUserCode = apiModel.LibraryUserCode, Title = apiModel.Title, Name = apiModel.Name, PhoneNumber = apiModel.PhoneNumber, MobilePhoneNumber = apiModel.MobilePhoneNumber, Email = apiModel.Email, AlternativePhoneNumber = apiModel.AlternativePhoneNumber, AlternativeEmail = apiModel.AlternativeEmail, AddressLine1 = apiModel.AddressLine1, AddressLine2 = apiModel.AddressLine2, AddressLine3 = apiModel.AddressLine3, City = apiModel.City, County = apiModel.County, Country = apiModel.Country, Postcode = apiModel.Postcode, GDPRInformedBy = apiModel.GDPRInformedBy, GDPRHowInformed = apiModel.GDPRHowInformed, GDPRInformedDate = (apiModel.GDPRInformedDate != null) ? apiModel.GDPRInformedDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", StrInformedDate = (apiModel.GDPRInformedDate != null) ? apiModel.GDPRInformedDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", GDPRNotes = apiModel.GDPRNotes, LibraryUserByEmail = apiModel.LibraryUserByEmail, LibraryUserByEmailConsentDate = (apiModel.LibraryUserByEmailConsentDate != null) ? apiModel.LibraryUserByEmailConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", StrContactByEmailConsentDate = (apiModel.LibraryUserByEmailConsentDate != null) ? apiModel.LibraryUserByEmailConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", LibraryUserByPhone = apiModel.LibraryUserByPhone, LibraryUserByPhoneConsentDate = (apiModel.LibraryUserByPhoneConsentDate != null) ? apiModel.LibraryUserByPhoneConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", StrContactByPhoneConsentDate = (apiModel.LibraryUserByPhoneConsentDate != null) ? apiModel.LibraryUserByPhoneConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", LibraryUserByPost = apiModel.LibraryUserByPost, LibraryUserByPostConsentDate = (apiModel.LibraryUserByPostConsentDate != null) ? apiModel.LibraryUserByPostConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", StrContactByPostConsentDate = (apiModel.LibraryUserByPostConsentDate != null) ? apiModel.LibraryUserByPostConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", LibraryUserBySMS = apiModel.LibraryUserBySMS, LibraryUserBySMSConsentDate = (apiModel.LibraryUserBySMSConsentDate != null) ? apiModel.LibraryUserBySMSConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", StrContactBySMSConsentDate = (apiModel.LibraryUserBySMSConsentDate != null) ? apiModel.LibraryUserBySMSConsentDate.Value.ToString("yyyy-MM-dd HH:mm:ss") : "", CreatedBy = apiModel.CreatedBy, DateCreated = apiModel.DateCreated, ModifiedBy = apiModel.ModifiedBy, DateModified = apiModel.DateModified }); }
public IActionResult Update([FromBody] LibraryUserApiModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } model.ModifiedBy = GetCurrentUser(); var result = _libraryUserWebApiManager.UpdateLibraryUser(model); switch (result) { case 1: return(Ok()); default: ModelState.AddModelError(string.Empty, "Unable to Update user"); break; } return(BadRequest(ModelState)); }
public IActionResult Insert([FromBody] LibraryUserApiModel model) { int result = 0; var libraryUserCode = ""; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (model != null) { model.CreatedBy = GetCurrentUser(); model.DateCreated = DateTime.Now; model.ModifiedBy = GetCurrentUser(); model.DateModified = DateTime.Now; result = _libraryUserWebApiManager.InsertLibraryUser(model, out libraryUserCode); } switch (result) { case 1: return(new ContentResult { Content = libraryUserCode, ContentType = "text/plain", StatusCode = 200 }); default: ModelState.AddModelError(string.Empty, "Failed to insert record"); break; } return(BadRequest(ModelState)); }
/// <summary> /// Updare LibraryUser /// </summary> /// <param name="libraryUser"></param> /// <returns>The<see cref="int"/> </returns> public int UpdateLibraryUser(LibraryUserApiModel libraryUser, TransactionParam transactionParam = null) { return(this._libraryUserRepository.UpdateLibraryUser(libraryUser, transactionParam)); }
/// <summary> /// Insert LibraryUser /// </summary> /// <param name="libraryUser"></param> /// <param name="libraryUserCode"></param> /// <returns>The<see cref="int"/> </returns> public int InsertLibraryUser(LibraryUserApiModel libraryUser, out string libraryUserCode, TransactionParam transactionParam = null) { return(this._libraryUserRepository.InsertLibraryUser(libraryUser, out libraryUserCode, transactionParam)); }
/// <summary> /// Updare LibraryUser /// </summary> /// <param name="LibraryUser"></param> /// <returns>The<see cref="int"/> </returns> public int UpdateLibraryUser(LibraryUserApiModel LibraryUser, TransactionParam transactionParam = null) { var parameters = new DynamicParameters(); parameters.Add(name: "LibraryUserCode", value: LibraryUser.LibraryUserCode); parameters.Add(name: "title", value: LibraryUser.Title); parameters.Add(name: "name", value: LibraryUser.Name); parameters.Add(name: "phoneNumber", value: LibraryUser.PhoneNumber); parameters.Add(name: "mobilePhoneNumber", value: LibraryUser.MobilePhoneNumber); parameters.Add(name: "email", value: LibraryUser.Email); parameters.Add(name: "alternativePhoneNumber", value: LibraryUser.AlternativePhoneNumber); parameters.Add(name: "alternativeEmail", value: LibraryUser.AlternativeEmail); parameters.Add(name: "addressLine1", value: LibraryUser.AddressLine1); parameters.Add(name: "addressLine2", value: LibraryUser.AddressLine2); parameters.Add(name: "addressLine3", value: LibraryUser.AddressLine3); parameters.Add(name: "city", value: LibraryUser.City); parameters.Add(name: "county", value: LibraryUser.County); parameters.Add(name: "country", value: LibraryUser.Country); parameters.Add(name: "postcode", value: LibraryUser.Postcode); parameters.Add(name: "GDPRInformedDate", value: LibraryUser.GDPRInformedDate); parameters.Add(name: "GDPRInformedBy", value: LibraryUser.GDPRInformedBy); parameters.Add(name: "GDPRHowInformed", value: LibraryUser.GDPRHowInformed); parameters.Add(name: "GDPRNotes", value: LibraryUser.GDPRNotes); parameters.Add(name: "LibraryUserByPost", value: LibraryUser.LibraryUserByPost); parameters.Add(name: "LibraryUserByPostConsentDate", value: LibraryUser.LibraryUserByPostConsentDate); parameters.Add(name: "LibraryUserByEmail", value: LibraryUser.LibraryUserByEmail); parameters.Add(name: "LibraryUserByEmailConsentDate", value: LibraryUser.LibraryUserByEmailConsentDate); parameters.Add(name: "LibraryUserByPhone", value: LibraryUser.LibraryUserByPhone); parameters.Add(name: "LibraryUserByPhoneConsentDate", value: LibraryUser.LibraryUserByPhoneConsentDate); parameters.Add(name: "LibraryUserBySMS", value: LibraryUser.LibraryUserBySMS); parameters.Add(name: "LibraryUserBySMSConsentDate", value: LibraryUser.LibraryUserBySMSConsentDate); parameters.Add(name: "modifiedBy", value: LibraryUser.ModifiedBy); parameters.Add(name: "modifiedDate", value: DateTime.Now); const string sql = @"UPDATE LibraryUser SET Title = @title ,Name = @name ,PhoneNumber = @phoneNumber ,MobilePhoneNumber = @mobilePhoneNumber ,Email = @email ,AlternativePhoneNumber = @alternativePhoneNumber ,AlternativeEmail = @alternativeEmail ,AddressLine1 = @addressLine1 ,AddressLine2 = @addressLine2 ,AddressLine3 = @addressLine3 ,City = @city ,County = @county ,Country = @country ,Postcode = @postcode ,GDPRInformedDate = @GDPRInformedDate ,GDPRInformedBy = @GDPRInformedBy ,GDPRHowInformed = @GDPRHowInformed ,GDPRNotes = @GDPRNotes ,LibraryUserByPost = @LibraryUserByPost ,LibraryUserByPostConsentDate = @LibraryUserByPostConsentDate ,LibraryUserByEmail = @LibraryUserByEmail ,LibraryUserByEmailConsentDate = @LibraryUserByEmailConsentDate ,LibraryUserByPhone = @LibraryUserByPhone ,LibraryUserByPhoneConsentDate = @LibraryUserByPhoneConsentDate ,LibraryUserBySMS = @LibraryUserBySMS ,LibraryUserBySMSConsentDate = @LibraryUserBySMSConsentDate ,ModifiedBy = @modifiedBy ,DateModified = @modifiedDate WHERE LibraryUserCode = @LibraryUserCode" ; LibraryUser.DateModified = DateTime.Now; int rowaffected = 0; if (transactionParam != null) { rowaffected = transactionParam.Connection.Execute( sql, param: parameters, commandType: CommandType.Text, transaction: transactionParam.Transaction); } else { using (var connection = this.OpenConnection()) { rowaffected = connection.Execute( sql, param: parameters, commandType: CommandType.Text); } } return(rowaffected); }
/// <summary> /// Insert LibraryUser /// </summary> /// <param name="LibraryUser"></param> /// <param name="LibraryUserCode"></param> /// <returns>The<see cref="int"/> </returns> public virtual int InsertLibraryUser(LibraryUserApiModel LibraryUser, out string LibraryUserCode, TransactionParam transactionParam = null) { LibraryUserCode = _randomKeyGenerator.GetUniqueKey(9); LibraryUser.LibraryUserCode = LibraryUserCode; var parameters = new DynamicParameters(); parameters.Add(name: "LibraryUserCode", value: LibraryUserCode); parameters.Add(name: "title", value: LibraryUser.Title); parameters.Add(name: "name", value: LibraryUser.Name); parameters.Add(name: "phoneNumber", value: LibraryUser.PhoneNumber); parameters.Add(name: "mobilePhoneNumber", value: LibraryUser.MobilePhoneNumber); parameters.Add(name: "email", value: LibraryUser.Email); parameters.Add(name: "alternativePhoneNumber", value: LibraryUser.AlternativePhoneNumber); parameters.Add(name: "alternativeEmail", value: LibraryUser.AlternativeEmail); parameters.Add(name: "addressLine1", value: LibraryUser.AddressLine1); parameters.Add(name: "addressLine2", value: LibraryUser.AddressLine2); parameters.Add(name: "addressLine3", value: LibraryUser.AddressLine3); parameters.Add(name: "city", value: LibraryUser.City); parameters.Add(name: "county", value: LibraryUser.County); parameters.Add(name: "country", value: LibraryUser.Country); parameters.Add(name: "postcode", value: LibraryUser.Postcode); parameters.Add(name: "GDPRInformedDate", value: LibraryUser.GDPRInformedDate); parameters.Add(name: "GDPRInformedBy", value: LibraryUser.GDPRInformedBy); parameters.Add(name: "GDPRHowInformed", value: LibraryUser.GDPRHowInformed); parameters.Add(name: "GDPRNotes", value: LibraryUser.GDPRNotes); parameters.Add(name: "LibraryUserByPost", value: LibraryUser.LibraryUserByPost); parameters.Add(name: "LibraryUserByPostConsentDate", value: LibraryUser.LibraryUserByPostConsentDate); parameters.Add(name: "LibraryUserByEmail", value: LibraryUser.LibraryUserByEmail); parameters.Add(name: "LibraryUserByEmailConsentDate", value: LibraryUser.LibraryUserByEmailConsentDate); parameters.Add(name: "LibraryUserByPhone", value: LibraryUser.LibraryUserByPhone); parameters.Add(name: "LibraryUserByPhoneConsentDate", value: LibraryUser.LibraryUserByPhoneConsentDate); parameters.Add(name: "LibraryUserBySMS", value: LibraryUser.LibraryUserBySMS); parameters.Add(name: "LibraryUserBySMSConsentDate", value: LibraryUser.LibraryUserBySMSConsentDate); parameters.Add(name: "createdBy", value: LibraryUser.CreatedBy); parameters.Add(name: "dateCreated", value: LibraryUser.DateCreated); parameters.Add(name: "modifiedBy", value: LibraryUser.ModifiedBy); parameters.Add(name: "dateModified", value: LibraryUser.DateModified); int rowaffected = 0; string sql = @"INSERT INTO LibraryUser ( LibraryUserCode,Title,Name,PhoneNumber,MobilePhoneNumber,Email, AlternativePhoneNumber, AlternativeEmail, AddressLine1, AddressLine2, AddressLine3, City, County, Country, Postcode, GDPRInformedDate,GDPRInformedBy,GDPRHowInformed,GDPRNotes,LibraryUserByPost,LibraryUserByPostConsentDate,LibraryUserByEmail, LibraryUserByEmailConsentDate,LibraryUserByPhone,LibraryUserByPhoneConsentDate,LibraryUserBySMS,LibraryUserBySMSConsentDate, CreatedBy, DateCreated, ModifiedBy, DateModified ) VALUES( @LibraryUserCode, @title, @name, @phoneNumber, @mobilePhoneNumber, @email, @alternativePhoneNumber, @alternativeEmail, @addressLine1, @addressLine2, @addressLine3, @city, @county, @country, @postcode, @GDPRInformedDate,@GDPRInformedBy,@GDPRHowInformed,@GDPRNotes,@LibraryUserByPost,@LibraryUserByPostConsentDate,@LibraryUserByEmail, @LibraryUserByEmailConsentDate,@LibraryUserByPhone,@LibraryUserByPhoneConsentDate,@LibraryUserBySMS,@LibraryUserBySMSConsentDate, @createdBy, NOW(), @modifiedBy, NOW())" ; if (transactionParam != null) { rowaffected = transactionParam.Connection.Execute( sql, param: parameters, commandType: CommandType.Text, transaction: transactionParam.Transaction); } else { using (var connection = this.OpenConnection()) { rowaffected = connection.Execute( sql, param: parameters, commandType: CommandType.Text); } } return(rowaffected); }
public LibraryBookStatusApiModel GetApiModel(LibraryBookApiModel libraryBook, LibraryUserApiModel libraryuser) { return(new LibraryBookStatusApiModel() { LibraryBookStatusCode = this.LibraryBookStatusCode, DateCheckedOut = Extension.ConvertToDateTime(this.DateCheckedOut), DateReturned = Extension.ConvertToDateTime(this.DateReturned), CreatedBy = this.CreatedBy, DateCreated = this.DateCreated, ModifiedBy = this.ModifiedBy, DateModified = this.DateModified, LibraryBook = libraryBook, LibraryUser = libraryuser }); }
public async Task <BoolResponse> Update(LibraryUserApiModel apiModel) { var createBranchResponse = await PutEncodedContentWithSimpleBoolResponse <BoolResponse, LibraryUserApiModel>(_apiUrl /*+ APIConstants.Update*/, apiModel); return(createBranchResponse); }
public async Task <IntResponse> Insert(LibraryUserApiModel apiModel) { var createBranchResponse = await PostEncodedContentWithSimpleResponse <IntResponse, LibraryUserApiModel>(_apiUrl /*+ APIConstants.Insert*/, apiModel); return(createBranchResponse); }