public async Task <ClientPolicyDTO> AddClientPolicy(ClientPolicyDTO newClientPolicy) { ClientPolicy clientPolicy = null; List <int> idsToRemove = new List <int>(); using (var context = new EnsuranceDBEntities()) { var existingClientPolicy = context.ClientPolicies .Any(cp => cp.ClientId == newClientPolicy.ClientId && cp.PolicyId == newClientPolicy.PolicyId); if (!existingClientPolicy) { clientPolicy = new ClientPolicy { ClientId = newClientPolicy.ClientId, PolicyId = newClientPolicy.PolicyId, StartDate = DateTime.Now }; context.ClientPolicies.Add(clientPolicy); await context.SaveChangesAsync(); } else { throw new Exception("The client already has this policy."); } } return(newClientPolicy); }
public async Task <PolicyDTO> UpdatePolicy(PolicyDTO updatePolicy) { var context1 = new EnsuranceDBEntities(); using (var context = new EnsuranceDBEntities()) { var policy = context.Policies .Where(p => (p.Id == updatePolicy.Id)) .FirstOrDefault(); if (policy != null) { policy.Name = updatePolicy.Name; policy.Description = updatePolicy.Description; policy.CoverageType = updatePolicy.CoverageType; policy.CoveragePercentage = updatePolicy.CoveragePercentage; policy.CoverageTime = updatePolicy.CoverageTime; policy.Cost = updatePolicy.Cost; policy.RiskType = updatePolicy.RiskType; await context.SaveChangesAsync(); } else { throw new Exception("The policy does not exist."); } } return(updatePolicy); }
public async Task <PolicyDTO> AddPolicy(PolicyDTO newPolicy) { Policy policy = null; using (var context = new EnsuranceDBEntities()) { var existingPolicy = context.Policies .Any(p => (p.Name == newPolicy.Name.Trim())); if (!existingPolicy) { policy = new Policy { Name = newPolicy.Name, Description = newPolicy.Description, CoverageType = newPolicy.CoverageType, CoveragePercentage = newPolicy.CoveragePercentage, CoverageTime = newPolicy.CoverageTime, Cost = newPolicy.Cost, RiskType = newPolicy.RiskType }; context.Policies.Add(policy); await context.SaveChangesAsync(); newPolicy.Id = policy.Id; } else { throw new Exception("A policy with the same name already exists."); } } return(newPolicy); }
public async Task DeletePolicy(int id) { using (var context = new EnsuranceDBEntities()) { var policy = new Policy { Id = id }; context.Policies.Attach(policy); context.Policies.Remove(policy); await context.SaveChangesAsync(); } }