Files
server/src/Admin/Models/UserEditModel.cs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

77 lines
2.9 KiB
C#
Raw Normal View History

2018-03-22 15:50:56 -04:00
using System;
2018-03-22 21:10:10 -04:00
using System.Collections.Generic;
2018-03-22 15:50:56 -04:00
using System.ComponentModel.DataAnnotations;
using Bit.Core.Entities;
2019-02-25 10:39:04 -05:00
using Bit.Core.Models.Business;
using Bit.Core.Settings;
using Bit.Core.Utilities;
2018-03-22 15:50:56 -04:00
namespace Bit.Admin.Models
{
2018-03-23 09:29:11 -04:00
public class UserEditModel : UserViewModel
2018-03-22 15:50:56 -04:00
{
public UserEditModel() { }
2019-02-25 10:39:04 -05:00
public UserEditModel(User user, IEnumerable<Cipher> ciphers, BillingInfo billingInfo,
GlobalSettings globalSettings)
2018-03-23 09:29:11 -04:00
: base(user, ciphers)
2018-03-22 15:50:56 -04:00
{
2019-02-25 10:39:04 -05:00
BillingInfo = billingInfo;
BraintreeMerchantId = globalSettings.Braintree.MerchantId;
2018-03-22 15:50:56 -04:00
Name = user.Name;
Email = user.Email;
EmailVerified = user.EmailVerified;
Premium = user.Premium;
MaxStorageGb = user.MaxStorageGb;
Gateway = user.Gateway;
GatewayCustomerId = user.GatewayCustomerId;
GatewaySubscriptionId = user.GatewaySubscriptionId;
LicenseKey = user.LicenseKey;
PremiumExpirationDate = user.PremiumExpirationDate;
}
2021-12-16 15:35:09 +01:00
2019-02-25 10:39:04 -05:00
public BillingInfo BillingInfo { get; set; }
public string RandomLicenseKey => CoreHelpers.SecureRandomString(20);
public string OneYearExpirationDate => DateTime.Now.AddYears(1).ToString("yyyy-MM-ddTHH:mm");
public string BraintreeMerchantId { get; set; }
2018-03-22 15:50:56 -04:00
[Display(Name = "Name")]
public string Name { get; set; }
[Required]
[Display(Name = "Email")]
public string Email { get; set; }
[Display(Name = "Email Verified")]
public bool EmailVerified { get; set; }
[Display(Name = "Premium")]
public bool Premium { get; set; }
[Display(Name = "Max. Storage GB")]
public short? MaxStorageGb { get; set; }
[Display(Name = "Gateway")]
public Core.Enums.GatewayType? Gateway { get; set; }
[Display(Name = "Gateway Customer Id")]
public string GatewayCustomerId { get; set; }
[Display(Name = "Gateway Subscription Id")]
public string GatewaySubscriptionId { get; set; }
[Display(Name = "License Key")]
public string LicenseKey { get; set; }
[Display(Name = "Premium Expiration Date")]
public DateTime? PremiumExpirationDate { get; set; }
public User ToUser(User existingUser)
{
existingUser.Name = Name;
existingUser.Email = Email;
existingUser.EmailVerified = EmailVerified;
existingUser.Premium = Premium;
existingUser.MaxStorageGb = MaxStorageGb;
existingUser.Gateway = Gateway;
existingUser.GatewayCustomerId = GatewayCustomerId;
existingUser.GatewaySubscriptionId = GatewaySubscriptionId;
existingUser.LicenseKey = LicenseKey;
existingUser.PremiumExpirationDate = PremiumExpirationDate;
return existingUser;
}
}
}