/// <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); }
protected static CompanyLicenseStatus GetLicenseStatus(CompanyLicenseDTO licenseVo) { if (licenseVo.isTrial) { return(CompanyLicenseStatus.Trial); } if (licenseVo.isEnterprise) { return(CompanyLicenseStatus.Enterprise); } return(CompanyLicenseStatus.Pro); }
/// <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); }