/// <summary> Subscribes to Event-Bus </summary> /// <param name="event"> data received from event bus</param> /// <returns></returns> public async Task Handle(FacilityAddedIntegrationEvent @event) { try { if (@event != null) { _logger.LogInformation(string.Format(CommonConstants.LoggingMessage.DataReceivedFromFacility, JsonConvert.SerializeObject(@event))); var facilityRequestModel = new BusinessLayer.Models.Facility { Id = @event.FacilityId, ProcessInactiveAsException = @event.ProcessInactiveAsException, AduIgnoreCritLow = @event.AduIgnoreCritLow, AduIgnoreStockout = @event.AduIgnoreStockout }; await _facilityManager.ProcessFacilityRequest(facilityRequestModel); } else { _logger.LogError(CommonConstants.LoggingMessage.InvalidRequest); } await Task.CompletedTask; } catch (Exception ex) { _logger.LogError(string.Format(CommonConstants.LoggingMessage.ErrorWhileProcessingRequest, ex.Message)); } }
/// <summary> /// Stores a facility in db. /// </summary> /// <param name="facility">Facility to be added</param> public async Task <bool> InsertFacility(BusinessLayer.Models.Facility facility) { if (facility != null) { var entity = _mapper.Map <Facility>(facility); entity.CreatedBy = UserName.Admin.ToString(); entity.CreatedDate = DateTime.Now; entity.ModifiedBy = UserName.Admin.ToString(); entity.ModifiedDate = DateTime.Now; await _collection.InsertOneAsync(entity); return(true); } return(false); }
/// <summary> /// Stores a facility in db. /// </summary> /// <param name="facility">Facility to be updated</param> public async Task <bool> UpdateFacility(BusinessLayer.Models.Facility facility) { var entity = await GetFacilityById(facility.Id); if (entity != null) { entity.ProcessInactiveAsException = facility.ProcessInactiveAsException; entity.AduIgnoreCritLow = facility.AduIgnoreCritLow; entity.AduIgnoreStockout = facility.AduIgnoreStockout; entity.ModifiedBy = UserName.Admin.ToString(); entity.ModifiedDate = DateTime.Now; await _collection.ReplaceOneAsync(e => e.FacilityId == entity.FacilityId, entity); return(true); } return(false); }