コード例 #1
0
        public ActionResult Create([Bind(Include = "Id,AirLineName,Description,Status")] AirLineInfo airLine)
        {
            using (var dbTransaction = _db.Database.BeginTransaction())
            {
                try
                {
                    ModelState.Clear();
                    airLine.AirLineId = string.Format("BI-{0:000000}", _db.AirLineInfos.Count() + 1);
                    airLine.EntryBy   = _db.Users.First(x => x.UserName == User.Identity.Name).Id;
                    airLine.EntryDate = DateTime.Now;
                    TryValidateModel(airLine);
                    if (ModelState.IsValid)
                    {
                        _db.AirLineInfos.Add(airLine);
                        _db.SaveChanges();

                        dbTransaction.Commit();
                        TempData["Toastr"] = Toastr.Added;

                        return(RedirectToAction("Index"));
                    }
                    dbTransaction.Rollback();
                    return(View(airLine));
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    TempData["Toastr"] = Toastr.DbError(ex.Message);
                    return(RedirectToAction("Index"));
                }
                finally
                {
                    ViewBag.StatusList = Common.ToSelectList <Status>();
                }
            }
        }
コード例 #2
0
        public ActionResult Edit([Bind(Include = "Id,AirLineName,Description,Status")] AirLineInfo airLine, int?id)
        {
            using (var dbTransaction = _db.Database.BeginTransaction())
            {
                try
                {
                    if (id == null)
                    {
                        TempData["Toastr"] = Toastr.HttpNotFound;
                        return(RedirectToAction("Index"));
                    }
                    if (_db.AirLineInfos.Count(x => x.Id == id) < 1)
                    {
                        TempData["Toastr"] = Toastr.HttpNotFound;
                        return(RedirectToAction("Index"));
                    }
                    var airLineInfo = _db.AirLineInfos.Single(x => x.Id == id);
                    if (airLineInfo == null)
                    {
                        TempData["Toastr"] = Toastr.HttpNotFound;
                        return(RedirectToAction("Index"));
                    }

                    ModelState.Clear();
                    airLine.AirLineId = airLineInfo.AirLineId;
                    airLine.EntryBy   = airLineInfo.EntryBy;
                    airLine.EntryDate = airLineInfo.EntryDate;
                    airLine.DelStatus = airLineInfo.DelStatus;

                    TryValidateModel(airLine);

                    if (!ModelState.IsValid)
                    {
                        return(View(airLine));
                    }

                    _db.AirLineInfos
                    .Where(x => x.Id == id)
                    .Update(u => new AirLineInfo
                    {
                        AirLineName = airLine.AirLineName,
                        Description = airLine.Description,
                        Status      = airLine.Status
                    });
                    dbTransaction.Commit();

                    TempData["Toastr"] = Toastr.Updated;
                    return(RedirectToAction("Index"));
                }
                catch (Exception ex)
                {
                    dbTransaction.Rollback();
                    TempData["Toastr"] = Toastr.DbError(ex.Message);
                    return(RedirectToAction("Index"));
                }
                finally
                {
                    ViewBag.StatusList = Common.ToSelectList <Status>(airLine.Status);
                }
            }
        }