internal Result AddAsset(string customerId, AddAssetParams data) { var loggerManager = new LoggerManager(); var operationGuid = Guid.NewGuid().ToString(); try { loggerManager.InsertLogoRecord(nameof(AddAsset), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data)); var customerManager = new CustomerManager(); var customer = customerManager.GetCompanyByExternalId(customerId); var user = customerManager.GetCompanyFirstAdminByExternalId(customerId); var product = customerManager.GetProductByProductExternalId(data.ProductId); var diskName = data.AdditionalAttribute.FirstOrDefault(a => a.Name.Equals(nameof(CreateDiskSpaceData.DiskName))); var orderDemandManager = new OrderDemandManager(); var addAsset = new CreateDiskSpaceData { OrderDemandGuid = operationGuid, AssetGroupId = data.AssetId, CompanyId = customer.CompanyId, ProductId = product.ProductID, UserId = user.UserId, DiskName = diskName?.Value }; orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.CreateDiskSpace, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(addAsset), data.TransactionId); return(new Result { IsCompleted = false, Success = true }); } catch (Exception ex) { loggerManager.InsertLogoRecord(nameof(AddAsset), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data)); return(new Result { IsCompleted = true, Success = false, Message = ex.Message }); } }
void SendNotification(CreateDiskSpaceData json) { var operationGuid = Guid.NewGuid().ToString(); try { var user = _userRepository.GetUserById(json.UserId); var createDiskSpaceMailObject = new CreateDiskSpaceMailObject { TemplateName = nameof(MailTemplateName.STaaSCreateDiskSpace), OrderDemandGuid = operationGuid, FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, DiskSpaceName = json.DiskName }; _orderDemandRepository.SaveOrderDemand(null, operationGuid, json.CompanyId, (int)ProvisionType.SendMail, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(createDiskSpaceMailObject), null); } catch (Exception ex) { _logRepository.InsertLogoRecord(nameof(SendNotification) + " " + nameof(CreateDiskSpace), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, null); } }
public override void DoJob(dynamic data) { var operationGuid = string.Empty; try { CreateDiskSpaceData json = JsonConvert.DeserializeObject <CreateDiskSpaceData>(data); operationGuid = json.OrderDemandGuid; var folderGuid = new Guid(operationGuid); _sTaaSSoap.DiskSpaceCreate(folderGuid.ToString("N")); _diskSpaceRepository.CreateDiskSpace(json.ProductId, json.UserId, (byte?)DiskSpaceState.Active, json.DiskName, json.Description, folderGuid, new Guid(json.AssetGroupId)); _orderDemandRepository.ChangeOrderDemandState(operationGuid, (int)OrderDemandStates.Finished); SendNotification(json); } catch (Exception ex) { _orderDemandRepository.ChangeOrderDemandState(operationGuid, (int)OrderDemandStates.FinishedError); _logRepository.InsertLogoRecord(nameof(CreateDiskSpace), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, data); } }