Ejemplo n.º 1
0
        public HttpResponseMessage approveclaim(DateTime dateofloss, tblInsurance insurance)
        {
            DbContextTransaction transaction = entities.Database.BeginTransaction();

            try
            {
                var result = entities.sp_validateClaim(insurance.DateofApplication, dateofloss, insurance.FarmerId, insurance.CropType).FirstOrDefault();
                entities.sp_updateClaim(Convert.ToInt32(insurance.InsuranceApplicationId), Convert.ToInt32(result));
                entities.SaveChanges();
                transaction.Commit();
                tblFarmer farmer = entities.tblFarmers.Where(fa => fa.fId == insurance.FarmerId).FirstOrDefault();
                if (result == 1)
                {
                    EmailModel email = new EmailModel();
                    HttpClient http  = new HttpClient();
                    http.BaseAddress = new Uri("http://localhost:61674/api/Email");

                    email.to      = farmer.fEmailId;
                    email.subject = "Insurace Claim approved";
                    email.body    = "your policy number of" + insurance.InsuranceApplicationId + "\t is approved Money will be credited in you account number:" + farmer.fAccountNo;

                    var consumewebApi = http.PostAsJsonAsync <EmailModel>("email", email);
                }
                else
                {
                    EmailModel email = new EmailModel();
                    HttpClient http  = new HttpClient();
                    http.BaseAddress = new Uri("http://localhost:61674/api/Email");
                    email.to         = farmer.fEmailId;

                    email.subject = "Insurace Claim NOT approved";
                    email.body    = "your policy number of" + insurance.InsuranceApplicationId + "\t Is Expired, you are not allowed to CLAIM";
                    var consumewebApi = http.PostAsJsonAsync <EmailModel>("email", email);
                }
            }
            catch (Exception e)
            {
                transaction.Rollback();
                return(Request.CreateErrorResponse(HttpStatusCode.Ambiguous, e.Message));
            }
            return(Request.CreateResponse(HttpStatusCode.OK));
        }