Пример #1
0
        public IHttpActionResult PostInsurances(Insurances insurances)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Insurances.Add(insurances);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (InsurancesExists(insurances.InsurancesId))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = insurances.InsurancesId }, insurances));
        }
Пример #2
0
        //Edit
        public ActionResult EditIinsurance(Insurances insurance)
        {
            if (ModelState.IsValid)
            {
                db.Entry(insurance).State = EntityState.Modified;

                var stdata = db.SummaryTable.Find(insurance.STID);
                if (insurance.PurchaseOrWithdraw == true)
                {
                    stdata.TradeDate = insurance.PurchaseDate;
                    var arr = db.CashExpense.Where(C => C.OID == insurance.STID).Select(C => C).SingleOrDefault();
                    arr.ExAmount = insurance.CashFlow;
                    arr.ExDate   = insurance.PurchaseDate;
                }
                else
                {
                    stdata.TradeDate = insurance.WithdrawDate;
                    var arr = db.CashIncome.Where(C => C.OID == insurance.STID).Select(C => C).SingleOrDefault();
                    arr.InAmount = -insurance.CashFlow;
                    arr.InDate   = insurance.PurchaseDate;
                }
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(insurance));
        }
        public static Client getClient1()
        {
            //var dataClient = new ClientData();
            //dataClient.BirthDate = new DateTime(2017, 1, 18);
            //dataClient.PeselNumber = 92081992;

            var isurances = new Insurances();

            //List<RealEstateInsurance> realEstateInsurancesList = new List<RealEstateInsurance>
            //{
            //    new RealEstateInsurance
            //    {
            //        NumberOfFloors=4,
            //        HasBasement=true,
            //        Adress="TestAdress"
            //    },
            //    new RealEstateInsurance
            //    {
            //        NumberOfFloors=5,
            //        HasBasement=false,
            //        Adress="TestAdress2"
            //    }
            //};

            // isurances.RealEstateInsurance = realEstateInsurancesList;

            var testClient = new Client();

            testClient.FirstName  = "TestName1";
            testClient.SecondName = "TestSecondName1";
            // testClient.ClientData = dataClient;
            testClient.Insurances = isurances;

            return(testClient);
        }
Пример #4
0
        public void CreateClient(string firstName, string secondName, DateTime?dayOfBirth, int peselNumber, int id)
        {
            var dataClient = new ClientData
            {
                BirthDate   = dayOfBirth,
                PeselNumber = peselNumber,
            };

            var isurances = new Insurances();

            var clientToAdd = new Client
            {
                FirstName  = firstName,
                SecondName = secondName,
                ClientData = dataClient,
                Insurances = isurances,
                ClientId   = id,
            };

            var request = new RestRequest("api/Clients", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddBody(clientToAdd);
            restClient.Execute(request);
        }
        public static List <RealEstateInsurance> getRealEstateInsurance(Insurances insurance)
        {
            List <RealEstateInsurance> realEstateInsurancesList = new List <RealEstateInsurance>
            {
                new RealEstateInsurance
                {
                    NumberOfFloors   = 5,
                    HasBasement      = true,
                    Adress           = "TestAdress1",
                    InsurancesId     = 4,
                    ConstructionDate = new DateTime(2017, 1, 18),
                    StartDate        = new DateTime(2017, 1, 18),
                    FinishDate       = new DateTime(2017, 1, 18),
                    Insurances       = insurance,
                },

                new RealEstateInsurance
                {
                    NumberOfFloors   = 5,
                    HasBasement      = false,
                    Adress           = "TestAdress2",
                    ConstructionDate = new DateTime(2016, 1, 18),
                    StartDate        = new DateTime(2016, 1, 18),
                    FinishDate       = new DateTime(2016, 1, 18),
                }
            };

            return(realEstateInsurancesList);
        }
Пример #6
0
 public override IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
 {
     if (DateOfBirth < DateTime.Now.AddYears(-Constants.MaxAgeInsuree) || DateOfBirth > DateTime.Now)
     {
         yield return
             (new ValidationResult(
                  $"Invalid range for date of birth; must be between {0} and {Constants.MaxAgeInsuree} years.",
                  new[] { "DateOfBirth" }));
     }
     foreach (var validationResult in Addresses.Validate())
     {
         yield return(validationResult);
     }
     foreach (var validationResult in EmailAddresses.Validate())
     {
         yield return(validationResult);
     }
     foreach (var validationResult in PhoneNumbers.Validate())
     {
         yield return(validationResult);
     }
     foreach (var validationResult in Insurances.Validate())
     {
         yield return(validationResult);
     }
 }
Пример #7
0
        public IHttpActionResult PutInsurances(int id, Insurances insurances)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != insurances.InsurancesId)
            {
                return(BadRequest());
            }

            db.Entry(insurances).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!InsurancesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #8
0
        public async Task <ActionResult <Insurances> > Update([FromBody] Insurances _Insurances)
        {
            Insurances _Insurancesq = _Insurances;

            try
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    try
                    {
                        _Insurancesq = await(from c in _context.Insurances
                                             .Where(q => q.InsurancesId == _Insurances.InsurancesId)
                                             select c
                                             ).FirstOrDefaultAsync();

                        _context.Entry(_Insurancesq).CurrentValues.SetValues((_Insurances));

                        //_context.Alert.Update(_Alertq);
                        await _context.SaveChangesAsync();

                        BitacoraWrite _write = new BitacoraWrite(_context, new Bitacora
                        {
                            IdOperacion  = _Insurances.InsurancesId,
                            DocType      = "Insurances",
                            ClaseInicial =
                                Newtonsoft.Json.JsonConvert.SerializeObject(_Insurancesq, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            ResultadoSerializado = Newtonsoft.Json.JsonConvert.SerializeObject(_Insurances, new JsonSerializerSettings {
                                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                            }),
                            Accion              = "Actualizar",
                            FechaCreacion       = DateTime.Now,
                            FechaModificacion   = DateTime.Now,
                            UsuarioCreacion     = _Insurances.CreatedUser,
                            UsuarioModificacion = _Insurances.ModifiedUser,
                            UsuarioEjecucion    = _Insurances.ModifiedUser,
                        });

                        await _context.SaveChangesAsync();

                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                        throw ex;
                        // return BadRequest($"Ocurrio un error:{ex.Message}");
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(await Task.Run(() => BadRequest($"Ocurrio un error:{ex.Message}")));
            }

            return(await Task.Run(() => Ok(_Insurancesq)));
        }
Пример #9
0
        public ActionResult Withdraw(Insurances insurances)
        {
            if (Session["User"] == null)
            {
                return(RedirectToRoute("Default", new { Controller = "Home", Action = "Index" }));
            }

            Insurances olddata = db.Insurances.Find(insurances.SerialNumber);

            olddata.Withdrawed = true;
            db.SaveChanges();

            insurances.CashFlow           = insurances.Withdrawal;
            insurances.PurchaseOrWithdraw = false;
            insurances.Withdrawed         = true;
            insurances.RelateCash         = true;
            insurances.UserID             = Session["User"].ToString();
            SummaryTable ST = new SummaryTable {
                TradeType = "保險", TradeDate = insurances.WithdrawDate, UserName = insurances.UserID
            };

            db.SummaryTable.Add(ST);
            db.SaveChanges();
            var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();

            insurances.STID = id;
            db.Insurances.Add(insurances);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #10
0
        public ActionResult DeleteConfirmed(int id)
        {
            Insurances insurances = db.Insurances.Find(id);

            db.Insurances.Remove(insurances);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public static Insurances getInsurances()
        {
            var isurances = new Insurances();

            isurances.RealEstateInsurance = getRealEstateInsurance(isurances);

            return(isurances);
        }
Пример #12
0
        public Insuree()
        {
            Addresses      = new Addresses();
            EmailAddresses = new EmailAddresses();
            PhoneNumbers   = new PhoneNumbers();

            Insurances = new Insurances();
        }
Пример #13
0
        public ActionResult Withdraw(Insurances insurances)
        {
            insurances.CashFlow           = insurances.Withdrawal;
            insurances.PurchaseOrWithdraw = false;
            //insurances.UserID = Session["User"].ToString();

            db.Insurances.Add(insurances);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #14
0
        //Delete
        public ActionResult DeleteInsurances(int?id)
        {
            Insurances obj    = db.Insurances.Find(id);
            var        STdata = db.SummaryTable.Where(c => c.STId == obj.STID).Select(c => c).SingleOrDefault();

            db.SummaryTable.Remove(STdata);
            db.Insurances.Remove(obj);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #15
0
 public ActionResult Edit([Bind(Include = "SerialNumber,UserID,InsuranceName,PurchaseDate,WithdrawDate,PaymentPerYear,PayYear,PurchaseOrWithdraw,CashFlow,Withdrawal")] Insurances insurances)
 {
     if (ModelState.IsValid)
     {
         db.Entry(insurances).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(insurances));
 }
Пример #16
0
 //Edit
 public ActionResult EditIinsurance(Insurances insurance)
 {
     if (ModelState.IsValid)
     {
         db.Entry(insurance).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(insurance));
 }
Пример #17
0
        //private static void GetProviders(List<Filter> filters)
        //{
        //    Task<DocumentSearchResult<AzureSearchProviderRequestedFields>> task = Providers.GetProviders(0, 25, null, filters, false, false);
        //    task.Wait();
        //}
        private static void GetSuggestions(string searchTerm)
        {
            List <Task <List <SuggestionResponse> > > tasks = new List <Task <List <SuggestionResponse> > >(4);

            tasks.Add(Conditions.GetSuggestions(searchTerm));   //13K condition entries. (1.6MB)  Kick it off first.
            tasks.Add(Names.GetSuggestions(searchTerm));        //4K name entries. (0.6MB)
            tasks.Add(Specialties.GetSuggestions(searchTerm));  //2K specialty entries. (0.4MB)
            tasks.Add(Insurances.GetSuggestions(searchTerm));   //0.1K insurance entries. (0.1MB)

            Task.WaitAll(tasks.ToArray());
        }
Пример #18
0
        public IHttpActionResult GetInsurances(int id)
        {
            Insurances insurances = db.Insurances.Find(id);

            if (insurances == null)
            {
                return(NotFound());
            }

            return(Ok(insurances));
        }
Пример #19
0
        public CaseInsurance GetActiveInsuranceAtDate(DateTime refDate)
        {
            var insurances =
                Insurances
                .Where(x =>
                       x.DatePlanEffective.GetValueOrDefault(DateTime.MinValue) <= refDate &&
                       x.DatePlanTerminated.GetValueOrDefault(DateTime.MaxValue) >= refDate)
                .OrderBy(x => x.DatePlanTerminated)
                .OrderByDescending(x => x.DatePlanEffective)
                .ToList();

            return(insurances.FirstOrDefault());
        }
Пример #20
0
        public List <CaseInsurance> GetActiveInsurance(DateTime StartDate, DateTime EndDate)
        {
            var insurances =
                Insurances
                .Where(x =>
                       x.DatePlanEffective.GetValueOrDefault(DateTime.MinValue) <= EndDate &&
                       x.DatePlanTerminated.GetValueOrDefault(DateTime.MaxValue) >= StartDate)
                .OrderBy(x => x.DatePlanTerminated)
                .OrderByDescending(x => x.DatePlanEffective)
                .ToList();

            return(insurances);
        }
Пример #21
0
        public IHttpActionResult DeleteInsurances(int id)
        {
            Insurances insurances = db.Insurances.Find(id);

            if (insurances == null)
            {
                return(NotFound());
            }

            db.Insurances.Remove(insurances);
            db.SaveChanges();

            return(Ok(insurances));
        }
Пример #22
0
        //解約
        public ActionResult Withdraw(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Insurances insurances = db.Insurances.Find(id);

            if (insurances == null)
            {
                return(HttpNotFound());
            }
            return(View(insurances));
        }
Пример #23
0
        public ActionResult Create([Bind(Include = "SerialNumber,UserID,InsuranceName,PurchaseDate,WithdrawDate,PaymentPerYear,PayYear,PurchaseOrWithdraw,CashFlow,Withdrawal")] Insurances insurances)
        {
            insurances.CashFlow           = -insurances.PaymentPerYear * insurances.PayYear;
            insurances.PurchaseOrWithdraw = true;
            insurances.Withdrawed         = false;
            //insurances.UserID = Session["User"].ToString();
            if (ModelState.IsValid)
            {
                db.Insurances.Add(insurances);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insurances));
        }
Пример #24
0
        public async Task <IActionResult> GetInsurancesById(Int64 InsurancesId)
        {
            Insurances Items = new Insurances();

            try
            {
                Items = await _context.Insurances.Where(q => q.InsurancesId == InsurancesId).FirstOrDefaultAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }


            return(await Task.Run(() => Ok(Items)));
        }
Пример #25
0
        public ActionResult Create([Bind(Include = "SerialNumber,UserID,InsuranceName,PurchaseDate,WithdrawDate,PaymentPerYear,PayYear,PurchaseOrWithdraw,CashFlow,Withdrawal,RelateCash")] Insurances insurances)
        {
            if (insurances.RelateCash == true)
            {
                insurances.CashFlow = -insurances.PaymentPerYear * insurances.PayYear;
            }
            else
            {
                insurances.CashFlow = 0;
            }
            insurances.PurchaseOrWithdraw = true;
            insurances.Withdrawed         = false;

            //insurances.UserID = Session["User"].ToString();
            if (ModelState.IsValid)
            {
                insurances.UserID = Session["User"].ToString();
                SummaryTable ST = new SummaryTable {
                    TradeType = "保險", TradeDate = insurances.PurchaseDate, UserName = insurances.UserID
                };
                db.SummaryTable.Add(ST);
                db.SaveChanges();
                var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();
                insurances.STID = id;
                db.Insurances.Add(insurances);
                db.SaveChanges();

                CashExpense CE = new CashExpense();
                CE.ExAmount   = -insurances.CashFlow;
                CE.UserName   = insurances.UserID;
                CE.ExDate     = ST.TradeDate;
                CE.ExCashType = ST.TradeType;
                CE.OID        = id;

                db.CashExpense.Add(CE);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(insurances));
        }
Пример #26
0
        public async Task <IActionResult> Delete([FromBody] Insurances _Insurances)
        {
            Insurances _Insurancesq = new Insurances();

            try
            {
                _Insurancesq = _context.Insurances
                               .Where(x => x.InsurancesId == (Int64)_Insurances.InsurancesId)
                               .FirstOrDefault();

                _context.Insurances.Remove(_Insurancesq);
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Ocurrio un error: { ex.ToString() }");
                return(BadRequest($"Ocurrio un error:{ex.Message}"));
            }

            return(await Task.Run(() => Ok(_Insurancesq)));
        }
Пример #27
0
        //Delete
        public ActionResult DeleteInsurances(int?id)
        {
            Insurances obj    = db.Insurances.Find(id);
            var        STdata = db.SummaryTable.ToList().Where(c => c.STId == obj.STID).Select(c => c).SingleOrDefault();

            var STID       = obj.STID;
            var RelateCash = obj.RelateCash;

            db.Insurances.Remove(obj);
            if (obj.PurchaseOrWithdraw == true)
            {
                if (RelateCash == true)
                {
                    var arr = db.CashExpense.Where(C => C.OID == STID).Select(C => C).SingleOrDefault();
                    db.CashExpense.Remove(arr);
                }
                if (RelateCash == false)
                {
                    db.SummaryTable.Remove(STdata);
                }
            }
            else
            {
                if (RelateCash == true)
                {
                    var arr = db.CashIncome.Where(C => C.OID == STID).Select(C => C).SingleOrDefault();
                    db.CashIncome.Remove(arr);
                }
                else
                {
                    db.SummaryTable.Remove(STdata);
                }
            }

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #28
0
        public ActionResult Create([Bind(Include = "SerialNumber,UserID,InsuranceName,PurchaseDate,WithdrawDate,PaymentPerYear,PayYear,PurchaseOrWithdraw,CashFlow,Withdrawal,RelateCash")] Insurances insurances)
        {
            if (ModelState.IsValid)
            {
                insurances.UserID             = Session["User"].ToString();
                insurances.PurchaseOrWithdraw = true;
                insurances.Withdrawed         = false;

                SummaryTable ST = new SummaryTable
                {
                    TradeType = "保險",
                    TradeDate = insurances.PurchaseDate,
                    UserName  = insurances.UserID
                };
                string UID   = Session["User"].ToString();
                var    ExSUM = db.CashExpense.Where(C => C.UserName == UID).Sum(C => C.ExAmount);
                var    InSUM = db.CashIncome.Where(C => C.UserName == UID).Sum(C => C.InAmount);

                if (insurances.RelateCash == true && InSUM - ExSUM > insurances.PaymentPerYear * insurances.PayYear)
                {
                    db.SummaryTable.Add(ST);
                    db.SaveChanges();

                    var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();
                    insurances.STID     = id;
                    insurances.CashFlow = -insurances.PaymentPerYear * insurances.PayYear;

                    db.Insurances.Add(insurances);
                    db.SaveChanges();

                    CashExpense CE = new CashExpense
                    {
                        ExAmount   = -insurances.CashFlow,
                        UserName   = insurances.UserID,
                        ExDate     = ST.TradeDate,
                        ExCashType = ST.TradeType,
                        OID        = id,
                        ExNote     = insurances.InsuranceName + "支出"
                    };
                    db.CashExpense.Add(CE);

                    var User = db.UsersData.Where(U => U.UserName == insurances.UserID).Select(U => U).SingleOrDefault();
                    User.InsuranceValue += insurances.Withdrawal;
                    User.CashValue      -= insurances.PaymentPerYear * insurances.PayYear;
                    db.SaveChanges();
                }
                else
                {
                    db.SummaryTable.Add(ST);
                    db.SaveChanges();

                    var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();
                    insurances.STID     = id;
                    insurances.CashFlow = 0;
                    db.Insurances.Add(insurances);
                    db.SaveChanges();

                    var User = db.UsersData.Where(U => U.UserName == insurances.UserID).Select(U => U).SingleOrDefault();
                    User.InsuranceValue += insurances.Withdrawal;
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            return(View(insurances));
        }
Пример #29
0
        public People getPersonHealth(short keyfield)
        {
            People p = new People();

            using (SqlConnection conn = new SqlConnection(DBConnect.GetSchoolConnStr()))
            {
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandText = "uspGetPersonHealth";
                    cmd.Parameters.Add("@keyfield", SqlDbType.SmallInt).Value = keyfield;
                    conn.Open();
                    SqlDataReader rdr = cmd.ExecuteReader();

                    while (rdr.Read())
                    {
                        Allergies a = new Allergies();
                        a.Keyfield           = DbUtilities.GetShort(rdr, "KeyField");
                        a.allergyDescription = rdr["Description"].ToString();
                        p.Allergies.Add(a);
                    }
                    rdr.NextResult();
                    if (rdr.HasRows)
                    {
                        while (rdr.Read())
                        {
                            Insurances i = new Insurances();
                            i.keyfield            = DbUtilities.GetShort(rdr, "keyfield");
                            i.InsuranceCo         = rdr["InsuranceCo"].ToString();
                            i.PolicyNum           = rdr["PolicyNum"].ToString();
                            i.SubscriberName      = rdr["SubscriberName"].ToString();
                            i.SubscriberNum       = rdr["SubscriberNum"].ToString();
                            i.SubscriberEmployer  = rdr["SubscriberEmployer"].ToString();
                            i.SubscriberJob       = rdr["SubscriberJob"].ToString();
                            i.SubscriberWorkPhone = rdr["SubscriberWorkPhone"].ToString();
                            p.Insurances.Add(i);
                        }
                    }
                    rdr.NextResult();
                    if (rdr.HasRows)
                    {
                        while (rdr.Read())
                        {
                            MedHist mh = new MedHist();
                            mh.keyfield                  = DbUtilities.GetShort(rdr, "KeyField");
                            mh.HealthCondition           = DbUtilities.GetByte(rdr, "HealthCondition");
                            mh.ConditionExplanation      = rdr["ConditionExplanation"].ToString();
                            mh.HealthTreatment           = rdr["HealthTreatment"].ToString();
                            mh.HasAsthma                 = DbUtilities.GetBool(rdr, "HasAsthma");
                            mh.HasSinusitis              = DbUtilities.GetBool(rdr, "HasSinusitis");
                            mh.HasBronchitis             = DbUtilities.GetBool(rdr, "HasBronchitis");
                            mh.HasKidneyTrouble          = DbUtilities.GetBool(rdr, "HasKidneyTrouble");
                            mh.HasHeartTrouble           = DbUtilities.GetBool(rdr, "HasHeartTrouble");
                            mh.HasDiabetes               = DbUtilities.GetBool(rdr, "HasDiabetes");
                            mh.HasDizziness              = DbUtilities.GetBool(rdr, "HasDizziness");
                            mh.HasStomachUpset           = DbUtilities.GetBool(rdr, "HasStomachUpset");
                            mh.HasHayFever               = DbUtilities.GetBool(rdr, "HasHayFever");
                            mh.Explanation               = rdr["Explanation"].ToString();
                            mh.PastOperationsOrIllnesses = rdr["PastOperationsOrIllnesses"].ToString();
                            mh.CurrentMeds               = rdr["CurrentMeds"].ToString();
                            mh.SpecialDietOrNeeds        = rdr["SpecialDietOrNeeds"].ToString();
                            mh.HadChickenPox             = DbUtilities.GetBool(rdr, "HadChickenPox");
                            mh.HadMeasles                = DbUtilities.GetBool(rdr, "HadMeasles");
                            mh.HadMumps                  = DbUtilities.GetBool(rdr, "HadMumps");
                            mh.HadWhoopingCough          = DbUtilities.GetBool(rdr, "HadWhoopingCough");
                            mh.OtherChildhoodDiseases    = rdr["OtherChildhoodDiseases"].ToString();
                            mh.DateOfTetanusShot         = DbUtilities.GetDateTime(rdr, "DateOfTetanusShot");
                            mh.FamilyDoctor              = rdr["FamilyDoctor"].ToString();
                            mh.FamilyDoctorPhone         = rdr["FamilyDoctorPhone"].ToString();
                            p.MedHist.Add(mh);
                        }
                    }
                }

                return(p);
            }
        }
Пример #30
0
        public ActionResult Withdraw(Insurances insurances)
        {
            if (Session["User"] == null)
            {
                return(RedirectToRoute("Default", new { Controller = "Home", Action = "Index" }));
            }

            if (ModelState.IsValid)
            {
                SummaryTable ST = new SummaryTable
                {
                    TradeType = "保險",
                    TradeDate = insurances.WithdrawDate,
                    UserName  = Session["User"].ToString()
                };



                Insurances olddata = db.Insurances.Find(insurances.SerialNumber);
                olddata.Withdrawed = true;
                db.SaveChanges();

                insurances.PurchaseOrWithdraw = false;
                insurances.Withdrawed         = true;

                insurances.UserID = Session["User"].ToString();
                if (insurances.RelateCash == true)
                {
                    insurances.CashFlow = insurances.Withdrawal;
                    db.SummaryTable.Add(ST);
                    db.SaveChanges();

                    var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();
                    insurances.STID = id;
                    db.Insurances.Add(insurances);
                    db.SaveChanges();

                    var User = db.UsersData.Where(U => U.UserName == insurances.UserID).Select(U => U).SingleOrDefault();
                    User.InsuranceValue -= insurances.Withdrawal;
                    User.CashValue      += insurances.Withdrawal;
                    db.SaveChanges();

                    CashIncome CI = new CashIncome
                    {
                        OID        = id,
                        UserName   = insurances.UserID,
                        InCashType = "保險",
                        InAmount   = insurances.CashFlow,
                        InDate     = insurances.WithdrawDate,
                        InNote     = insurances.InsuranceName + "解約金"
                    };

                    db.CashIncome.Add(CI);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    insurances.CashFlow = 0;
                    db.SummaryTable.Add(ST);
                    db.SaveChanges();

                    var id = db.SummaryTable.Select(c => c.STId).ToList().LastOrDefault();
                    insurances.STID = id;
                    db.Insurances.Add(insurances);
                    db.SaveChanges();

                    var User = db.UsersData.Where(U => U.UserName == insurances.UserID).Select(U => U).SingleOrDefault();
                    User.InsuranceValue -= insurances.Withdrawal;
                    User.CashValue      += insurances.Withdrawal;
                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }
            return(View(insurances));
        }