Beispiel #1
0
        /// <summary>
        /// The convert DTO.
        /// </summary>
        /// <param name="licenseDto">
        /// The license DTO.
        /// </param>
        /// <param name="instance">
        /// The instance.
        /// </param>
        /// <returns>
        /// The <see cref="CompanyLicense"/>.
        /// </returns>
        private CompanyLicense ConvertDto(CompanyLicenseDTO licenseDto, CompanyLicense instance)
        {
            instance = instance ?? new CompanyLicense();
            var licenseIsTransient = instance.IsTransient();

            if (licenseIsTransient)
            {
                instance.CreatedBy     = this.UserModel.GetOneById(licenseDto.createdBy).Value;
                instance.DateCreated   = DateTime.Now;
                instance.Company       = this.CompanyModel.GetOneById(licenseDto.companyId).Value;
                instance.LicenseNumber = Guid.NewGuid().ToString();
            }

            instance.Domain = licenseDto.domain;
            var expiryDate = licenseDto.expiryDate.ConvertFromUnixTimeStamp();

            instance.ExpiryDate             = expiryDate <= SqlDateTime.MinValue.Value ? licenseDto.isTrial ? DateTime.Now.AddDays(30) : DateTime.Now.AddYears(1) : expiryDate;
            instance.DateStart              = licenseDto.startDate.ConvertFromUnixTimeStamp();
            instance.TotalLicensesCount     = licenseDto.totalLicensesCount;
            instance.TotalParticipantsCount = licenseDto.totalParticipantsCount == 0 ? 100 : licenseDto.totalParticipantsCount;
            instance.DateModified           = DateTime.Now;
            instance.ModifiedBy             = this.UserModel.GetOneById(licenseDto.modifiedBy).Value;
            instance.LicenseStatus          = GetLicenseStatus(licenseDto);
            instance.HasApi = licenseDto.hasApi;

            return(instance);
        }
Beispiel #2
0
        protected static CompanyLicenseStatus GetLicenseStatus(CompanyLicenseDTO licenseVo)
        {
            if (licenseVo.isTrial)
            {
                return(CompanyLicenseStatus.Trial);
            }

            if (licenseVo.isEnterprise)
            {
                return(CompanyLicenseStatus.Enterprise);
            }

            return(CompanyLicenseStatus.Pro);
        }
Beispiel #3
0
        /// <summary>
        /// The save.
        /// </summary>
        /// <param name="dto">
        /// The DTO.
        /// </param>
        /// <returns>
        /// The <see cref="CompanyLicenseDTO"/>.
        /// </returns>
        public CompanyLicenseDTO Save(CompanyLicenseDTO dto)
        {
            ValidationResult validationResult;

            if (this.IsValid(dto, out validationResult))
            {
                var companyLicenseModel = this.CompanyLicenseModel;
                var instance            = (dto.companyLicenseId == 0)
                                              ? null
                                              : companyLicenseModel.GetOneById(dto.companyLicenseId).Value;
                instance = this.ConvertDto(dto, instance);
                companyLicenseModel.RegisterSave(instance, true);
                //IoC.Resolve<RealTimeNotificationModel>().NotifyClientsAboutChangesInTable<CompanyLicense>(NotificationType.Update, instance.Company.Id, instance.Id);
                return(new CompanyLicenseDTO(instance));
            }

            var error = this.GenerateValidationError(validationResult);

            this.LogError("CompanyLicense.Save", error);
            throw new FaultException <Error>(error, error.errorMessage);
        }