Ejemplo n.º 1
0
        internal Result UpdateAsset(string customerId, string assetId, UpdateAssetParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(UpdateAsset), 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 diskSpace = customerManager.GetDiskSpaceByAssetGroupId(assetId);

                var orderDemandManager = new OrderDemandManager();
                var addAsset           = new UpgradeDiskSpaceData
                {
                    OrderDemandGuid = operationGuid,
                    CompanyId       = customer.CompanyId,
                    UserId          = user.UserId,
                    ProductId       = product.ProductID,
                    DiskSpaceId     = diskSpace.DiskSpaceID
                };

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.UpgradeDiskSpace, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(addAsset), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(UpdateAsset), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }
Ejemplo n.º 2
0
        void SendNotification(UpgradeDiskSpaceData json, string diskSpacePlan, string diskSpaceName)
        {
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                var user = _userRepository.GetUserById(json.UserId);
                var upgradeDiskSpaceMailObject = new UpgradeDiskSpaceMailObject
                {
                    TemplateName    = nameof(MailTemplateName.STaaSUpgradeDiskSpace),
                    OrderDemandGuid = operationGuid,
                    FirstName       = user.FirstName,
                    LastName        = user.LastName,
                    Email           = user.Email,
                    DiskSpaceName   = diskSpaceName,
                    DiskSpacePlan   = diskSpacePlan
                };
                _orderDemandRepository.SaveOrderDemand(null, operationGuid, json.CompanyId, (int)ProvisionType.SendMail, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(upgradeDiskSpaceMailObject), null);
            }
            catch (Exception ex)
            {
                _logRepository.InsertLogoRecord(nameof(SendNotification) + " " + nameof(DeleteDiskSpace), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, null);
            }
        }
Ejemplo n.º 3
0
        public override void DoJob(dynamic data)
        {
            var operationGuid = string.Empty;

            try
            {
                UpgradeDiskSpaceData json = JsonConvert.DeserializeObject <UpgradeDiskSpaceData>(data);
                operationGuid = json.OrderDemandGuid;

                var diskSpace = _diskSpaceRepository.GetDiskSpaceInfo(json.UserId, json.DiskSpaceId, true);
                var product   = _diskSpaceRepository.GetProductsById(json.ProductId);
                _diskSpaceRepository.UpdateDiskSpace(diskSpace.DiskSpaceID, null, json.ProductId);

                _orderDemandRepository.ChangeOrderDemandState(operationGuid, (int)OrderDemandStates.Finished);

                SendNotification(json, product.Name, diskSpace.DiskSpaceName);
            }

            catch (Exception ex)
            {
                _orderDemandRepository.ChangeOrderDemandState(operationGuid, (int)OrderDemandStates.FinishedError);
                _logRepository.InsertLogoRecord(nameof(CreateDiskSpace), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, data);
            }
        }