Beispiel #1
0
        internal Result UpdateCompany(string externalId, UpdateCustomerParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(UpdateCompany), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data));

                var orderDemandManager = new OrderDemandManager();
                var updateCustomert    = new UpdateCompanyData
                {
                    Address          = data.Address,
                    ContactEmail     = data.Email,
                    ContactFirstName = data.FirstName,
                    ContactLastName  = data.LastName,
                    ExternalId       = externalId,
                    Name             = data.CompanyName,
                    OrderDemandGuid  = operationGuid
                };

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.UpdateCustomer, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(updateCustomert), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(UpdateCompany), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }
Beispiel #2
0
        internal TransactionResult GetTransactionStatus(string transactionId)
        {
            var loggerManager = new LoggerManager();

            try
            {
                loggerManager.InsertLogoRecord(nameof(GetTransactionStatus), nameof(LogLevel.Info), null, transactionId, transactionId);
                var orderDemandManager = new OrderDemandManager();
                var orderDemand        = orderDemandManager.GetOrderDemandByExternalTransactionId(transactionId);
                if (orderDemand == null)
                {
                    return new TransactionResult {
                               IsCompleted = true, Success = false, Message = { new Messages {
                                                                                    Message = "Nepostojeći transactionId", Language = "hr"
                                                                                } }
                    }
                }
                ;
                else if (orderDemand.OrderDemandStateId == (int)OrderDemandStates.Created || orderDemand.OrderDemandStateId == (int)OrderDemandStates.Executing || orderDemand.OrderDemandStateId == (int)OrderDemandStates.WaitingApruval)
                {
                    return new TransactionResult {
                               IsCompleted = false, Success = false
                    }
                }
                ;
                else if (orderDemand.OrderDemandStateId == (int)OrderDemandStates.Finished)
                {
                    return new TransactionResult {
                               IsCompleted = true, Success = true
                    }
                }
                ;

                return(new TransactionResult {
                    IsCompleted = true, Success = false, Message = { new Messages {
                                                                         Message = "Greška prilikom provizioniranja", Language = "hr"
                                                                     } }
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(GetTransactionStatus), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, transactionId, transactionId);
                return(new TransactionResult {
                    IsCompleted = true, Success = false, Message = { new Messages {
                                                                         Message = ex.Message, Language = "hr"
                                                                     } }
                });
            }
        }
Beispiel #3
0
        internal Result AddUser(string companyId, AddUserParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(AddUser), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data));

                var orderDemandManager = new OrderDemandManager();
                var addUser            = new CreateUserData
                {
                    Address            = data.Address,
                    Email              = data.Email,
                    FirstName          = data.FirstName,
                    LastName           = data.LastName,
                    OrderDemandGuid    = operationGuid,
                    ContactInfo        = data.ContactInfo,
                    ExternalCustomerId = companyId,
                    ExternalId         = data.UserId,
                    Username           = data.Username
                };

                var validator  = new AddUserValidator();
                var valResults = validator.Validate(addUser);

                var validationSucceeded = valResults.IsValid;
                if (!validationSucceeded)
                {
                    var failures = valResults.Errors;
                    var message  = failures.Aggregate(string.Empty, (current, failure) => current + (failure.ErrorMessage + "<br />"));
                    return(new Result {
                        IsCompleted = false, Success = false, Message = message
                    });
                }

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.CreateUser, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(addUser), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(AddUser), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }
Beispiel #4
0
        internal Result AssignProduct(string customerId, string userId, string productId, AssignProductParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(AssignProduct), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data));

                var orderDemandManager = new OrderDemandManager();
                var assignProduct      = new AssigneProductData
                {
                    ExternalId        = userId,
                    OrderDemandGuid   = operationGuid,
                    ExternalProcudtId = productId
                };

                var validator  = new AssignProductValidator();
                var valResults = validator.Validate(assignProduct);

                var validationSucceeded = valResults.IsValid;
                if (!validationSucceeded)
                {
                    var failures = valResults.Errors;

                    var message = failures.Aggregate(string.Empty, (current, failure) => current + (failure.ErrorMessage + "<br />"));
                    return(new Result {
                        IsCompleted = false, Success = false, Message = message
                    });
                }

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.AssigneProduct, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(assignProduct), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(AssignProduct), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }
Beispiel #5
0
        internal Result RemoveCompany(string externalId, RemoveCustomerParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(RemoveCompany), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data));

                var orderDemandManager = new OrderDemandManager();
                var removeCompany      = new DeleteCompanyData
                {
                    ExternalId      = externalId,
                    OrderDemandGuid = operationGuid
                };

                var validator  = new CompanyValidator();
                var valResults = validator.Validate(removeCompany);

                var validationSucceeded = valResults.IsValid;
                if (!validationSucceeded)
                {
                    var failures = valResults.Errors;
                    var message  = failures.Aggregate(string.Empty, (current, failure) => current + (failure.ErrorMessage + "<br />"));
                    return(new Result {
                        IsCompleted = false, Success = false, Message = message
                    });
                }

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.DeleteCustomer, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(removeCompany), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(RemoveCompany), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }
Beispiel #6
0
        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
                });
            }
        }
Beispiel #7
0
        internal Result RemoveAsset(string customerId, string assetId, RemoveAssetParams data)
        {
            var loggerManager = new LoggerManager();
            var operationGuid = Guid.NewGuid().ToString();

            try
            {
                loggerManager.InsertLogoRecord(nameof(RemoveAsset), nameof(LogLevel.Info), null, data.TransactionId, JsonConvert.SerializeObject(data));

                var customerManager = new CustomerManager();
                var customer        = customerManager.GetCompanyByExternalId(customerId);

                var user = customerManager.GetCompanyFirstAdminByExternalId(customerId);

                var diskSpace = customerManager.GetDiskSpaceByAssetGroupId(assetId);

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

                orderDemandManager.SaveOrderDemand(null, operationGuid, 0, (int)ProvisionType.DeleteDiskSpace, (int)OrderDemandStates.Created, (int)OrderDemandType.Integrated, JsonConvert.SerializeObject(addAsset), data.TransactionId);
                return(new Result {
                    IsCompleted = false, Success = true
                });
            }
            catch (Exception ex)
            {
                loggerManager.InsertLogoRecord(nameof(RemoveAsset), nameof(LogLevel.Error), ex.Message + " " + ex.StackTrace, operationGuid, JsonConvert.SerializeObject(data));
                return(new Result {
                    IsCompleted = true, Success = false, Message = ex.Message
                });
            }
        }