Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 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();
     }
 }