コード例 #1
0
        public static RequestResult Query(QueryParameters queryParameters, Account account)
        {
            RequestResult result = new RequestResult();

            try
            {
                using (CFContext context = new CFContext())
                {
                    var downStreamOrganizationIds = OrganizationDataAccessor.GetDownStreamOrganizationIds(new Guid(queryParameters.OrganizationId), true);

                    var query = context.Solutions.Where(x => downStreamOrganizationIds.Contains(x.OrganizationId) && account.QueryableOrganizationIds.Contains(x.OrganizationId)).AsQueryable();

                    if (!string.IsNullOrEmpty(queryParameters.SolutionType))
                    {
                        query = query.Where(x => x.OrganizationId == new Guid(queryParameters.OrganizationId) && x.Type == queryParameters.SolutionType);
                    }

                    if (!string.IsNullOrEmpty(queryParameters.Keyword))
                    {
                        query = query.Where(x => x.SId.Contains(queryParameters.Keyword) || x.Name.Contains(queryParameters.Keyword));
                    }

                    var organization = OrganizationDataAccessor.GetOrganization(new Guid(queryParameters.OrganizationId));

                    result.ReturnData(new GridViewModel()
                    {
                        OrganizationId       = queryParameters.OrganizationId,
                        Permission           = account.OrganizationPermission(new Guid(queryParameters.OrganizationId)),
                        SolutionType         = queryParameters.SolutionType,
                        OrganizationName     = organization.Name,
                        FullOrganizationName = organization.FullName,
                        Items = query.ToList().Select(x => new GridItem()
                        {
                            SolutionId       = x.SolutionId.ToString(),
                            Permission       = account.OrganizationPermission(x.OrganizationId),
                            OrganizationName = OrganizationDataAccessor.GetOrganizationName(x.OrganizationId),
                            SolutionType     = x.Type,
                            SId  = x.SId,
                            Name = x.Name
                        }).OrderBy(x => x.OrganizationName).ThenBy(x => x.SolutionType).ThenBy(x => x.SId).ToList()
                    });
                }
            }
            catch (Exception ex)
            {
                var err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return(result);
        }
コード例 #2
0
ファイル: OrganizationController.cs プロジェクト: dvcsgit/CF
        public ActionResult Create(string parentOrganizationId)
        {
            try
            {
                if (parentOrganizationId == "00000000-0000-0000-0000-000000000000")
                {
                    Session["OrganizationCreateFormModel"] = new CreateFormModel()
                    {
                        AncestorOrganizationId = "00000000-0000-0000-0000-000000000000",
                        ParentId = "00000000-0000-0000-0000-000000000000",
                        ParentOrganizationFullName = "*"
                    };
                }
                else
                {
                    var parentOrganization = OrganizationDataAccessor.GetOrganization(new Guid(parentOrganizationId));

                    Session["OrganizationCreateFormModel"] = new CreateFormModel()
                    {
                        AncestorOrganizationId = parentOrganization.AncestorOrganizationId.ToString(),
                        ParentId = parentOrganization.OrganizationId.ToString(),
                        ParentOrganizationFullName = parentOrganization.FullName
                    };
                }

                Session["OrganizationFormAction"] = Define.EnumFormAction.Create;

                return(PartialView("_Create", Session["OrganizationCreateFormModel"]));
            }
            catch (Exception ex)
            {
                var err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                return(PartialView("_Error", err));
            }
        }
コード例 #3
0
ファイル: CheckpointDataAccessor.cs プロジェクト: dvcsgit/CF
        public static RequestResult Edit(EditFormModel editFormModel)
        {
            RequestResult result = new RequestResult();

            try
            {
                using (CFContext context = new CFContext())
                {
                    var checkpoint = context.Checkpoints.Include("CheckItems").First(x => x.CheckpointId == new Guid(editFormModel.CheckpointId));

                    var exists = context.Checkpoints.FirstOrDefault(x => x.CheckpointId != checkpoint.CheckpointId && x.OrganizationId == checkpoint.OrganizationId && x.CId == editFormModel.FormInput.CId);

                    if (exists == null)
                    {
                        if (!string.IsNullOrEmpty(editFormModel.FormInput.TagId) && context.Checkpoints.Any(x => x.CheckpointId != checkpoint.CheckpointId && x.TagId == editFormModel.FormInput.TagId))
                        {
                            var query = context.Checkpoints.First(x => x.CheckpointId != checkpoint.CheckpointId && x.TagId == editFormModel.FormInput.TagId);

                            var organization = OrganizationDataAccessor.GetOrganization(query.OrganizationId);

                            result.ReturnFailedMessage(string.Format("{0} {1} {2} {3} {4}", Resources.Resource.TagId, editFormModel.FormInput.TagId, Resources.Resource.Exists, organization.Name, checkpoint.Name));
                        }
                        else
                        {
            #if !DEBUG
                    using (TransactionScope trans = new TransactionScope())
                    {
            #endif
                            #region ControlPoint
                            checkpoint.CId = editFormModel.FormInput.CId;
                            checkpoint.Name = editFormModel.FormInput.Name;
                            checkpoint.TagId = editFormModel.FormInput.TagId;
                            checkpoint.Remark = editFormModel.FormInput.Remark;
                            checkpoint.IsFeelItemDefaultNormal = editFormModel.FormInput.IsFeelItemDefaultNormal;
                            checkpoint.LastModifyTime = DateTime.Now;

                            context.SaveChanges();
                            #endregion

                            #region CheckItems
                            #region Delete
                            checkpoint.CheckItems = new HashSet<CheckItem>();

                            context.SaveChanges();
                            #endregion

                            #region Insert
                            checkpoint.CheckItems = editFormModel.CheckItemModels.Select(x => new CheckItem()
                            {
                                CheckItemId = new Guid(x.CheckItemId),
                                CIId = x.CIId,
                                Name = x.Name,
                                Type = x.Type,
                                IsInherit = x.IsInherit,
                                IsFeelItem = x.IsFeelItem,
                                IsAccumulation = x.IsAccumulation,
                                LowerLimit = x.LowerLimit,
                                LowerAlertLimit = x.LowerAlertLimit,
                                UpperLimit = x.UpperLimit,
                                UpperAlertLimit = x.UpperAlertLimit,
                                Unit = x.Unit,
                                Remark = x.Remark,
                                AccumulationBase = x.AccumulationBase,
                                LastModifyTime = DateTime.Now
                            }).ToList();

                            context.SaveChanges();
                            #endregion
                            #endregion
            #if !DEBUG
                        trans.Complete();
                    }
            #endif
                            result.ReturnSuccessMessage(string.Format("{0} {1} {2}", Resources.Resource.Edit, Resources.Resource.Checkpoint, Resources.Resource.Success));
                        }
                    }
                    else
                    {
                        result.ReturnFailedMessage(string.Format("{0} {1}", Resources.Resource.Checkpoint, Resources.Resource.Exists));
                    }
                }
            }
            catch (Exception ex)
            {
                var err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return result;
        }
コード例 #4
0
ファイル: CheckpointDataAccessor.cs プロジェクト: dvcsgit/CF
        public static RequestResult Create(CreateFormModel createFormModel)
        {
            RequestResult result = new RequestResult();

            try
            {
                using (CFContext context = new CFContext())
                {
                    var exists = context.Checkpoints.FirstOrDefault(x => x.OrganizationId == new Guid(createFormModel.OrganizationId) && x.CId == createFormModel.FormInput.CId);

                    if (exists == null)
                    {
                        if (!string.IsNullOrEmpty(createFormModel.FormInput.TagId) && context.Checkpoints.Any(x => x.TagId == createFormModel.FormInput.TagId))
                        {
                            var checkpoint = context.Checkpoints.First(x => x.TagId == createFormModel.FormInput.TagId);

                            var organization = OrganizationDataAccessor.GetOrganization(checkpoint.OrganizationId);

                            result.ReturnFailedMessage(string.Format("{0} {1} {2} {3} {4}", Resources.Resource.TagId, createFormModel.FormInput.TagId, Resources.Resource.Exists, organization.Name, checkpoint.Name));
                        }
                        else
                        {
                            Guid checkpointId = Guid.NewGuid();

                            context.Checkpoints.Add(new CF.Models.Maintenance.Checkpoint()
                            {
                                CheckpointId = checkpointId,
                                OrganizationId = new Guid(createFormModel.OrganizationId),
                                CId = createFormModel.FormInput.CId,
                                Name = createFormModel.FormInput.Name,
                                IsFeelItemDefaultNormal = createFormModel.FormInput.IsFeelItemDefaultNormal,
                                TagId = createFormModel.FormInput.TagId,
                                Remark = createFormModel.FormInput.Remark,
                                CheckItems = createFormModel.CheckItemModels.Select(x => new CF.Models.Maintenance.CheckItem()
                                {
                                    CheckItemId = new Guid(x.CheckItemId),
                                    IsInherit = x.IsInherit,
                                    LowerLimit = x.LowerLimit,
                                    LowerAlertLimit = x.LowerAlertLimit,
                                    UpperAlertLimit = x.UpperAlertLimit,
                                    UpperLimit = x.UpperLimit,
                                    AccumulationBase = x.AccumulationBase,
                                    Unit = x.Unit,
                                    Remark = x.Remark
                                }).ToList(),
                                LastModifyTime = DateTime.Now
                            });

                            context.SaveChanges();

                            result.ReturnData(checkpointId, string.Format("{0} {1} {2}", Resources.Resource.Create, Resources.Resource.Checkpoint, Resources.Resource.Success));
                        }
                    }
                    else
                    {
                        result.ReturnFailedMessage(string.Format("{0} {1}", Resources.Resource.CId, Resources.Resource.Exists));
                    }
                }
            }
            catch (Exception ex)
            {
                var err = new Error(MethodBase.GetCurrentMethod(), ex);

                Logger.Log(err);

                result.ReturnError(err);
            }

            return result;
        }