コード例 #1
0
        private JsonResult GetUpDT(DataSourceRequest request, bool errorFlag, SubBuildEditModel build)
        {
            using (AdmShipDataContext dc = new AdmShipDataContext())
            {
                if (build != null)
                {
                    var ls = dc.GetBuildSubDiv(build.InvNumber, build.SubDiv);

                    if (ls.Any())
                    {
                        var b = ls.First();
                        build.buildId         = b.id;
                        build.buildNumber     = b.buildNumber;
                        build.buildName       = b.buildName;
                        build.subdivisionName = b.subdivisionName;
                        build.subdivId        = b.subdivId;
                    }
                }

                return(Json(new[] { build }.ToDataSourceResult(request, ModelState)));
            }
        }
コード例 #2
0
        private ActionResult UpdateCreate(DataSourceRequest request, SubBuildEditModel build, string type)
        {
            bool errorFlag = false;

            if (ModelState.IsValid)
            {
                using (AdmShipDataContext dc = new AdmShipDataContext())
                {
                    if (build == null)
                    {
                        ModelState.AddModelError("EmptyField", "Не заполнено одно или несколько из обязательных полей!");
                        errorFlag = true;
                        return(GetUpDT(request, errorFlag, build));
                    }

                    if (String.IsNullOrEmpty(build?.InvNumber))
                    {
                        ModelState.AddModelError("EmptyBuild", "Не выбрано здание!");
                        errorFlag = true;
                        return(GetUpDT(request, errorFlag, build));
                    }

                    if (build.SubDiv == 0)
                    {
                        ModelState.AddModelError("EmptySubdiv", "Не выбрано подразделение!");
                        errorFlag = true;
                        return(GetUpDT(request, errorFlag, build));
                    }

                    if (!subdivs.Any(r => r.Id == build.SubDiv))
                    {
                        errorFlag = true;
                        ModelState.AddModelError("NotExistSubdiv", "Такого подразделения не существует!");
                        return(GetUpDT(request, errorFlag, build));
                    }

                    if (!builds.Any(r => r.InvNumber == build.InvNumber))
                    {
                        errorFlag = true;
                        ModelState.AddModelError("NotExistBuild", "Такого здания не существует!");
                        return(GetUpDT(request, errorFlag, build));
                    }

                    var ls = dc.GetBuildSubDiv(build.InvNumber, build.SubDiv);

                    if (ls.Any())
                    {
                        errorFlag = true;
                        ModelState.AddModelError("Exists", "Такая связь существует!");
                        return(GetUpDT(request, errorFlag, build));
                    }


                    var b = builds.First(r => r.InvNumber == build.InvNumber);

                    try
                    {
                        dc.SubdivBuildEdit(build.buildId, build.SubDiv, b.Name, b.InvNumber, type);
                    }
                    catch (Exception e)
                    {
                        errorFlag = true;
                        ModelState.AddModelError("Error", e.Message);
                    }
                }
            }

            return(GetUpDT(request, errorFlag, build));
        }
コード例 #3
0
 public ActionResult Grid_Update([DataSourceRequest] DataSourceRequest request, SubBuildEditModel build)
 {
     return(UpdateCreate(request, build, "Update"));
 }
コード例 #4
0
        public ActionResult Grid_Destroy([DataSourceRequest] DataSourceRequest request, SubBuildEditModel build)
        {
            bool          errorFlag = false;
            DbTransaction dbt       = null;
            dynamic       result    = null;

            if (ModelState.IsValid)
            {
                try
                {
                    int subdivId = 0;
                    int tmpS     = 0;
                    if (Int32.TryParse(build.nameOfSubdiv, out tmpS))
                    {
                        subdivId = Int32.Parse(build.nameOfSubdiv);
                    }
                    string bnumber = "";
                    foreach (var b in builds)
                    {
                        if (b.buildName == build.nameOfBuild)
                        {
                            bnumber = b.InvNumber;
                        }
                    }
                    using (AdmShipDataContext dc = new AdmShipDataContext())
                    {
                        if (dc.Connection.State == System.Data.ConnectionState.Closed)
                        {
                            dc.Connection.Open();
                        }
                        dbt            = dc.Connection.BeginTransaction(System.Data.IsolationLevel.Serializable);
                        dc.Transaction = dbt;
                        dc.SubdivBuildEdit(build.buildId, subdivId, build.nameOfBuild, bnumber, "Delete");
                        dbt.Commit();
                    }
                }
                catch (Exception ex)
                {
                    errorFlag = true;
                    ModelState.AddModelError("Del", "Невозможно удалить запись!");
                }
            }
            return(GetUpDT(request, errorFlag, build));
        }