Пример #1
0
        public bool SaveQualityOption(XkSystem.Models.DbContext db, Quality.Entity.tbQualityItem qualityItem, HttpRequestBase request)
        {
            var txtId    = request["txtId"].Split(',');
            var txtNo    = request["txtNo"].Split(',');
            var txtName  = request["txtName"].Split(',');
            var txtValue = request["txtValue"].Split(',');

            var list = (from p in db.Table <Quality.Entity.tbQualityOption>()
                        where p.tbQualityItem.Id == qualityItem.Id
                        select p).ToList();

            foreach (var a in list.Where(d => txtId.Contains(d.Id.ToString()) == false))
            {
                a.IsDeleted = true;
            }

            for (var i = 0; i < txtId.Count(); i++)
            {
                //输入内容不为空,判断是否存在id并执行对应的操作
                if (string.IsNullOrEmpty(txtId[i]) == false)
                {
                    //如果有id的,执行更新操作
                    var tb = list.Where(d => d.Id == txtId[i].ConvertToInt()).FirstOrDefault();
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改评价选项");
                    tb.No            = txtNo[i].ConvertToInt();
                    tb.OptionName    = txtName[i];
                    tb.tbQualityItem = qualityItem;
                    tb.OptionValue   = txtValue[i].ConvertToDecimal();
                }
                else
                {
                    //没有id的,执行插入操作
                    var tb = new Quality.Entity.tbQualityOption();
                    tb.No            = txtNo[i].ConvertToInt();
                    tb.OptionName    = txtName[i];
                    tb.tbQualityItem = qualityItem;
                    tb.OptionValue   = txtValue[i].ConvertToDecimal();
                    db.Set <Quality.Entity.tbQualityOption>().Add(tb);
                    XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加评价内容");
                }
            }

            return(true);
        }
Пример #2
0
        public bool SaveQualityItem(XkSystem.Models.DbContext db, Quality.Entity.tbQualityItemGroup surveyGroup, HttpRequestBase request, List <Quality.Entity.tbQualityItem> surveyItems)
        {
            var txtId                = request["txtId"].Split(',');
            var txtNo                = request["txtNo"].Split(',');
            var txtName              = request["txtName"].Split(',');
            var txtIsVertical        = request["txtIsVertical"].Split(',');
            var txtQualityItemTypeId = request["txtQualityItemTypeId"].Split(',');
            var QualityItemTypeList  = typeof(Code.EnumHelper.QualityItemType).ToItemList();
            var list = (from p in db.Table <Quality.Entity.tbQualityItem>()
                        where p.tbQualityItemGroup.Id == surveyGroup.Id
                        select p).ToList();

            foreach (var a in list.Where(d => txtId.Contains(d.Id.ToString()) == false))
            {
                a.IsDeleted = true;
            }

            for (var i = 0; i < txtId.Count(); i++)
            {
                if (string.IsNullOrEmpty(txtName[i]))
                {
                    //输入内容为空,判断是否存在Id
                    if (string.IsNullOrEmpty(txtId[i]) == false)
                    {
                        //如果是有id的,那就是数据库中记录的,应该做删除
                        var tb = list.Where(d => d.Id == txtId[i].ConvertToInt()).FirstOrDefault();
                        XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("删除评价内容");
                        tb.IsDeleted = true;
                        surveyItems.Add(tb);
                    }
                }
                else
                {
                    //输入内容不为空,判断是否存在id并执行对应的操作
                    if (string.IsNullOrEmpty(txtId[i]) == false)
                    {
                        //如果有id的,执行更新操作
                        var tb = list.Where(d => d.Id == txtId[i].ConvertToInt()).FirstOrDefault();
                        XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改评价内容");
                        tb.No = txtNo[i].ConvertToInt();
                        tb.QualityItemName    = txtName[i];
                        tb.tbQualityItemGroup = surveyGroup;
                        tb.IsVertical         = txtIsVertical[i] == "1" ? true : false;
                        tb.QualityItemType    = EnumExtend.GetEnumName <Code.EnumHelper.QualityItemType>(QualityItemTypeList.Where(d => d.Value == txtQualityItemTypeId[i]).Select(d => d.Text).FirstOrDefault());
                        surveyItems.Add(tb);
                    }
                    else
                    {
                        //没有id的,执行插入操作
                        var tb = new Quality.Entity.tbQualityItem();
                        tb.No = txtNo[i].ConvertToInt();
                        tb.QualityItemName    = txtName[i];
                        tb.tbQualityItemGroup = surveyGroup;
                        tb.IsVertical         = txtIsVertical[i] == "1" ? true : false;
                        tb.QualityItemType    = EnumExtend.GetEnumName <Code.EnumHelper.QualityItemType>(QualityItemTypeList.Where(d => d.Value == txtQualityItemTypeId[i]).Select(d => d.Text).FirstOrDefault());
                        surveyItems.Add(tb);
                        db.Set <Quality.Entity.tbQualityItem>().Add(tb);
                        XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加评价内容");
                    }
                }
            }

            return(true);
        }
Пример #3
0
        public ActionResult Edit(Models.QualityItem.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (Request.Form["txtIsVertical"] == "1")
                {
                    vm.QualityItemEdit.IsVertical = true;
                }
                else if (Request.Form["txtIsVertical"] == "0")
                {
                    vm.QualityItemEdit.IsVertical = false;
                }

                if (Request.Form["txtQualityItemTypeId"] != null)
                {
                    if (Request.Form["txtQualityItemTypeId"] == "0")
                    {
                        vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.Radio;
                    }
                    else if (Request.Form["txtQualityItemTypeId"] == "1")
                    {
                        vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.CheckBox;
                    }
                    else if (Request.Form["txtQualityItemTypeId"] == "2")
                    {
                        vm.QualityItemEdit.QualityItemType = Code.EnumHelper.QualityItemType.TextBox;
                    }
                }
                if (error.Count == decimal.Zero)
                {
                    var tb = new Quality.Entity.tbQualityItem();
                    if (vm.QualityItemEdit.Id == 0)
                    {
                        tb    = new Quality.Entity.tbQualityItem();
                        tb.No = vm.QualityItemEdit.No == null?db.Table <Quality.Entity.tbQualityItem>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityItemEdit.No;

                        tb.QualityItemName    = vm.QualityItemEdit.QualityItemName;
                        tb.QualityItemType    = vm.QualityItemEdit.QualityItemType;
                        tb.IsVertical         = vm.QualityItemEdit.IsVertical;
                        tb.tbQualityItemGroup = db.Set <Quality.Entity.tbQualityItemGroup>().Find(vm.QualityItemEdit.QualityItemGroupId);
                        db.Set <Quality.Entity.tbQualityItem>().Add(tb);
                        if (db.SaveChanges() > 0)
                        {
                            XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加评价内容");
                        }
                    }
                    else
                    {
                        tb = (from p in db.Table <Quality.Entity.tbQualityItem>()
                              where p.Id == vm.QualityItemEdit.Id
                              select p).FirstOrDefault();
                        if (tb != null)
                        {
                            tb.No = vm.QualityItemEdit.No == null?db.Table <Quality.Entity.tbQualityItem>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityItemEdit.No;

                            tb.tbQualityItemGroup = db.Set <Quality.Entity.tbQualityItemGroup>().Find(vm.QualityItemEdit.QualityItemGroupId);
                            tb.QualityItemName    = vm.QualityItemEdit.QualityItemName;
                            tb.QualityItemType    = vm.QualityItemEdit.QualityItemType;
                            tb.IsVertical         = vm.QualityItemEdit.IsVertical;
                            XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改评价内容");
                        }
                    }

                    using (TransactionScope scope = new TransactionScope())
                    {
                        if (Request["txtId"] != null)
                        {
                            //保存评价选项数据
                            new QualityOptionController().SaveQualityOption(db, tb, Request);
                        }
                        db.SaveChanges();
                        scope.Complete();
                    }
                }
                return(Code.MvcHelper.Post(error));
            }
        }
Пример #4
0
        public ActionResult Edit(Models.Quality.Edit vm)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var error = new List <string>();
                if (vm.QualityEdit.ToDate < vm.QualityEdit.FromDate)
                {
                    error.AddError("开始时间不能大于结束时间!");
                }
                int qualityId = 0;

                if (error.Count == decimal.Zero)
                {
                    if (vm.QualityEdit.Id == 0)
                    {
                        if (vm.CreateWay == "复制历史" && vm.CopyQualityId == 0)
                        {
                            error.AddError("请选择需要复制的历史评教设置!");
                        }
                        else
                        {
                            var tb = new Quality.Entity.tbQuality();
                            tb.No = vm.QualityEdit.No == null?db.Table <Quality.Entity.tbQuality>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityEdit.No;

                            tb.tbYear      = db.Set <Basis.Entity.tbYear>().Find(vm.QualityEdit.YearId);
                            tb.QualityName = vm.QualityEdit.QualityName;
                            tb.FromDate    = vm.QualityEdit.FromDate;
                            tb.ToDate      = vm.QualityEdit.ToDate;
                            tb.IsOpen      = vm.QualityEdit.IsOpen;
                            tb.IsActive    = vm.QualityEdit.IsActive;
                            db.Set <Quality.Entity.tbQuality>().Add(tb);
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加评价");
                            }

                            qualityId = tb.Id;
                            if (tb.IsActive == true)
                            {
                                var list = (from p in db.Table <Quality.Entity.tbQuality>()
                                            where p.Id != tb.Id &&
                                            p.IsDeleted == false
                                            select p).ToList();
                                foreach (var model in list)
                                {
                                    model.IsActive   = false;
                                    model.UpdateTime = DateTime.Now;
                                }
                            }

                            #region  制历史
                            if (vm.CreateWay == "复制历史" && vm.CopyQualityId != 0)
                            {
                                var copyQuality = (from p in db.Table <Quality.Entity.tbQuality>()
                                                   where p.Id == vm.CopyQualityId &&
                                                   p.IsDeleted == false
                                                   select p).FirstOrDefault();

                                #region tbQualityItemGroup
                                //获取需要复制的评价分组
                                var copyQualityItemGroupList = (from p in db.Table <Quality.Entity.tbQualityItemGroup>()
                                                                where p.tbQuality.Id == vm.CopyQualityId &&
                                                                p.IsDeleted == false &&
                                                                p.tbQuality.IsDeleted == false
                                                                select p).ToList();
                                foreach (var copyQualityItemGroup in copyQualityItemGroupList)
                                {
                                    var group = new Quality.Entity.tbQualityItemGroup();
                                    group.QualityItemGroupName = copyQualityItemGroup.QualityItemGroupName;
                                    group.No        = copyQualityItemGroup.No;
                                    group.tbQuality = tb;
                                    db.Set <Quality.Entity.tbQualityItemGroup>().Add(group);

                                    //获取需要复制的评价内容
                                    var copyQualityItemList = (from p in db.Table <Quality.Entity.tbQualityItem>()
                                                               .Include(d => d.tbQualityItemGroup)
                                                               where p.tbQualityItemGroup.Id == copyQualityItemGroup.Id &&
                                                               p.IsDeleted == false &&
                                                               p.tbQualityItemGroup.IsDeleted == false &&
                                                               p.tbQualityItemGroup.tbQuality.IsDeleted == false
                                                               select p).ToList();
                                    foreach (var copyQualityItem in copyQualityItemList)
                                    {
                                        var item = new Quality.Entity.tbQualityItem();
                                        item.QualityItemName = copyQualityItem.QualityItemName;
                                        item.No = copyQualityItem.No;
                                        item.QualityItemType    = copyQualityItem.QualityItemType;
                                        item.tbQualityItemGroup = group;
                                        db.Set <Quality.Entity.tbQualityItem>().Add(item);

                                        //获取需要复制的评价选项
                                        var copyQualityOptionList = (from p in db.Table <Quality.Entity.tbQualityOption>()
                                                                     .Include(d => d.tbQualityItem)
                                                                     where p.tbQualityItem.Id == copyQualityItem.Id &&
                                                                     p.IsDeleted == false &&
                                                                     p.tbQualityItem.IsDeleted == false &&
                                                                     p.tbQualityItem.tbQualityItemGroup.IsDeleted == false &&
                                                                     p.tbQualityItem.tbQualityItemGroup.tbQuality.IsDeleted == false
                                                                     select p).ToList();
                                        foreach (var copyQualityOption in copyQualityOptionList)
                                        {
                                            var option = new Quality.Entity.tbQualityOption();
                                            option.OptionName    = copyQualityOption.OptionName;
                                            option.No            = copyQualityOption.No;
                                            option.OptionValue   = copyQualityOption.OptionValue;
                                            option.tbQualityItem = item;
                                            db.Set <Quality.Entity.tbQualityOption>().Add(option);
                                        }
                                    }
                                }
                                db.SaveChanges();
                                #endregion
                            }
                        }
                        #endregion
                    }
                    else
                    {
                        var tb = (from p in db.Table <Quality.Entity.tbQuality>()
                                  where p.Id == vm.QualityEdit.Id
                                  select p).FirstOrDefault();
                        if (tb != null)
                        {
                            qualityId = tb.Id;

                            tb.No = vm.QualityEdit.No == null?db.Table <Quality.Entity.tbQuality>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.QualityEdit.No;

                            tb.QualityName = vm.QualityEdit.QualityName;
                            tb.tbYear      = db.Set <Basis.Entity.tbYear>().Find(vm.QualityEdit.YearId);
                            tb.FromDate    = vm.QualityEdit.FromDate;
                            tb.ToDate      = vm.QualityEdit.ToDate;
                            tb.IsOpen      = vm.QualityEdit.IsOpen;
                            tb.IsActive    = vm.QualityEdit.IsActive;
                            if (tb.IsActive == true)
                            {
                                var list = (from p in db.Table <Quality.Entity.tbQuality>()
                                            where p.Id != tb.Id &&
                                            p.IsDeleted == false
                                            select p).ToList();
                                foreach (var model in list)
                                {
                                    model.IsActive   = false;
                                    model.UpdateTime = DateTime.Now;
                                }
                            }
                            if (db.SaveChanges() > 0)
                            {
                                XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改评价");
                            }
                        }
                        else
                        {
                            error.AddError(Resources.LocalizedText.MsgNotFound);
                        }
                    }
                }

                if (Request["Step"] != null)
                {
                    return(Code.MvcHelper.Post(error, Url.Action("List", "QualityItemGroup", new { qualityId = qualityId })));
                }
                else
                {
                    return(Code.MvcHelper.Post(error, Url.Action("List")));
                }
            }
        }