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); }
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)); } }
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; }
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; }