public async Task <DataModel.Agreement> SignAgreement(int tenantId, int agreementId, DateTime startDate, DateTime endDate) { var agreement = await _context.Agreements .Where(a => a.AgreementId == agreementId) .FirstOrDefaultAsync(); if (agreement == null) { return(null); } var signedAgreement = new SignedAgreement(); signedAgreement.TenantId = tenantId; signedAgreement.AgreementId = agreementId; signedAgreement.SignedDate = DateTime.Now; signedAgreement.StartDate = startDate; signedAgreement.EndDate = endDate; _context.Add(signedAgreement); await _context.SaveChangesAsync(); return(new DataModel.Agreement { AgreementId = signedAgreement.AgreementId, Title = agreement.Title, Text = agreement.Text, SignedDate = signedAgreement.SignedDate, StartDate = signedAgreement.StartDate, EndDate = signedAgreement.EndDate, }); }
public async Task <Entity.User> NewUser(DTO.UserDTO userInfo) { if (userInfo == null) { return(null); } if (String.IsNullOrEmpty(userInfo.Password)) { return(null); } if (String.IsNullOrEmpty(userInfo.LoginName)) { return(null); } var user = new Entity.User(); user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); user.UserAccountType = userInfo.UserAccountType; user.ApiKey = Guid.NewGuid().ToString(); await _context.AddAsync(user); await _context.SaveChangesAsync(); return(user); }
public async Task <Entity.User> NewUser(DTO.UserDTO userInfo) { var loginAlreadyExists = await _context.Users .Where(u => u.LoginName.ToLower() == userInfo.LoginName.ToLower()) .CountAsync() > 0; if (loginAlreadyExists) { return(null); } if (userInfo == null) { return(null); } if (String.IsNullOrEmpty(userInfo.Password)) { return(null); } if (String.IsNullOrEmpty(userInfo.LoginName)) { return(null); } var user = new Entity.User(); user.FirstName = userInfo.FirstName; user.LastName = userInfo.LastName; user.LoginName = userInfo.LoginName; user.Password = Util.Hash.Sha256(userInfo.Password); user.UserAccountType = userInfo.UserAccountType; user.ApiKey = Guid.NewGuid().ToString(); await _context.AddAsync(user); await _context.SaveChangesAsync(); var tenant = await _context.Tenants .Where(t => t.Email == user.LoginName) .Select(t => t) .FirstOrDefaultAsync(); if (tenant == null) { return(null); } tenant.UserId = user.UserId; await _context.SaveChangesAsync(); return(user); }
public async Task <Entity.Agreement> UpdateAgreement(Entity.Agreement updated) { if (updated.StartDate != null && updated.EndDate != null) { if (updated.StartDate > updated.EndDate) { return(null); } } var existingAgreement = await _context.Agreements .Where(a => a.AgreementId == updated.AgreementId) .Select(a => a) .FirstOrDefaultAsync(); if (existingAgreement == null) { await _context.AddAsync(updated); await _context.SaveChangesAsync(); return(updated); } else { existingAgreement.AgreementTemplateId = updated.AgreementTemplateId; if (updated.StartDate != null) { existingAgreement.StartDate = updated.StartDate; } if (updated.EndDate != null) { existingAgreement.EndDate = updated.EndDate; } if (updated.SignedDate != null) { existingAgreement.SignedDate = updated.SignedDate; } existingAgreement.TenantId = updated.TenantId; await _context.SaveChangesAsync(); return(await _context.Agreements .Where(a => a.AgreementId == updated.AgreementId) .Select(a => a) .FirstOrDefaultAsync()); } }
public async Task <MaintenanceRequest> CancelMaintenanceRequest(int userWhoCanceled, int maintenanceRequestId, string resolutionNotes) { var maintenanceRequest = await GetMaintenanceRequest(maintenanceRequestId); if (maintenanceRequest == null) { return(null); } maintenanceRequest.ResolutionNotes = resolutionNotes; maintenanceRequest.TimeClosed = DateTime.Now; maintenanceRequest.ClosingUserId = userWhoCanceled; await _context.SaveChangesAsync(); return(maintenanceRequest); }
public async Task <DTO.TenantInfoDTO> AddTenant(DTO.TenantInfoDTO info) { var emailAlreadyExists = await _context.Tenants .Where(t => t.Email.ToLower() == info.Email.ToLower()) .CountAsync() > 0; if (emailAlreadyExists) { return(null); } if (info == null) { return(null); } var tenant = new Tenant(); tenant.FirstName = info.FirstName; tenant.LastName = info.LastName; tenant.Email = info.Email; tenant.PhoneNumber = info.PhoneNumber; _context.Add(tenant); await _context.SaveChangesAsync(); await AssignToUnit(tenant.TenantId, info.UnitNumber); await _context.SaveChangesAsync(); return(new DTO.TenantInfoDTO(tenant, info.UnitNumber)); }
public async Task <DTO.TenantInfoDTO> AddTenant(DTO.TenantInfoDTO info) { if (info == null) { return(null); } var tenant = new Tenant(); tenant.FirstName = info.FirstName; tenant.LastName = info.LastName; tenant.Email = info.Email; tenant.PhoneNumber = info.PhoneNumber; _context.Add(tenant); await AssignToUnit(tenant.TenantId, info.UnitNumber); await _context.SaveChangesAsync(); return(new DTO.TenantInfoDTO(tenant, info.UnitNumber)); }
public async Task <Entity.AgreementTemplate> UpdateAgreementTemplate(Entity.AgreementTemplate agreement) { var existingTemplate = await _context.AgreementTemplates .Where(a => a.AgreementTemplateId == agreement.AgreementTemplateId) .Select(a => a) .FirstOrDefaultAsync(); if (existingTemplate == null) { await _context.AddAsync(agreement); await _context.SaveChangesAsync(); return(agreement); } else { existingTemplate.Title = agreement.Title; existingTemplate.Title = agreement.Text; await _context.SaveChangesAsync(); return(existingTemplate); } }
public async Task <DataModel.Bill> PayBill(int tenantId, double amount, ResourceType resource, BillingPeriod period) { if (period == null) { return(null); } var payment = new Payment(); payment.Amount = amount; payment.ResourceType = resource; payment.BillingPeriodId = period.BillingPeriodId; payment.TenantId = tenantId; payment.TimePaid = DateTime.Now; await _context.AddAsync(payment); await _context.SaveChangesAsync(); return(await GetBill(tenantId, resource, period)); }