public MembershipPayment Create( MembershipPaymentCreate membershipPaymentCreate, int employeeId) { Database.MembershipPayment activePayment = _context.MembershipPayments .Include(x => x.MembershipType) .Where(x => x.ClientId == membershipPaymentCreate.ClientId) .Where(x => x.CreatedAt.AddMonths(x.MembershipType.MonthsValid) > DateTime.Now) .FirstOrDefault(); if (activePayment != null) { throw new ActiveMembershipException(); } Database.MembershipPayment membershipPayment = new Database.MembershipPayment { ClientId = membershipPaymentCreate.ClientId, EmployeeId = employeeId, MembershipTypeId = membershipPaymentCreate.MembershipTypeId, CreatedAt = DateTime.Now, }; _context.MembershipPayments.Add(membershipPayment); _context.SaveChanges(); Database.MembershipPayment createdPayment = _context.MembershipPayments .Include(x => x.Client) .ThenInclude(x => x.AppUser) .Include(x => x.MembershipType) .FirstOrDefault(x => x.Id == membershipPayment.Id); return(MembershipPaymentMapper.FromDb(createdPayment)); }
public static MembershipPayment FromDb(Database.MembershipPayment membershipPayment) { Client client = new Client { Id = (int)membershipPayment.ClientId, FirstName = membershipPayment.Client.AppUser.FirstName, LastName = membershipPayment.Client.AppUser.LastName }; MembershipType membershipType = new MembershipType { Id = (int)membershipPayment.MembershipTypeId, MonthsValid = membershipPayment.MembershipType.MonthsValid, Name = membershipPayment.MembershipType.Name, Price = membershipPayment.MembershipType.Price }; DateTime expiresAt = membershipPayment.CreatedAt.AddMonths(membershipType.MonthsValid); return(new MembershipPayment { Id = membershipPayment.Id, CreatedAt = membershipPayment.CreatedAt.ToString("dd-MM-yyyy"), ClientId = client.Id, FirstName = client.FirstName, LastName = client.LastName, MembershipTypeName = membershipType.Name, ValidDescriptor = DateTime.Now >= expiresAt ? "Nije Validno" : "Validno", TotalPaid = membershipType.Price }); }
public void Delete(int id) { Database.MembershipPayment payment = _context.MembershipPayments.Find(id); if (payment == null) { throw new ResourceNotFoundException("Not found"); } _context.MembershipPayments.Remove(payment); _context.SaveChanges(); }
public void Update(int id, MembershipPaymentUpdate membershipPaymentUpdate) { Database.MembershipPayment payment = _context.MembershipPayments.Find(id); if (payment == null) { throw new ResourceNotFoundException("Not found"); } payment.MembershipTypeId = membershipPaymentUpdate.MembershipTypeId; _context.MembershipPayments.Update(payment); _context.SaveChanges(); }