コード例 #1
0
        public string UpdateArchiveElement(ArchiveEntities archiveItem, IEnumerable <Permissions> permissions)
        {
            bool existElement = _archiveEntityCrud.Exists(archiveItem.Barcode);

            if (!existElement)
            {
                return(null);
            }

            StatusValuePair <ArchiveEntities> archiveElement = _archiveEntityCrud.UpdateByBarcode(archiveItem);
            string result = archiveElement.HasValue ? archiveElement.Value.Barcode : null;

            if (string.IsNullOrWhiteSpace(result))
            {
                return(result);
            }

            bool permissionsResult = CreateOrUpdatePermissions(permissions);

            if (!permissionsResult)
            {
                Logger.ShowErrorOnPage("Не удалось создать уникальные права для этого элемента.",
                                       "ArchiveElement.CreateOrUpdateDbRecord(SPItemEventProperties properties)");
            }

            return(result);
        }
コード例 #2
0
        private ArchiveDataSource ToArchiveDataSource(ArchiveEntities archiveElement)
        {
            SPUser            user = _spSite.RootWeb.SiteUsers.GetByID(archiveElement.CreatedBy);
            ArchiveDataSource item = new ArchiveDataSource
            {
                Id             = Convert.ToInt32(archiveElement.Id),
                BarCode        = archiveElement.Barcode,
                SE             = archiveElement.SE,
                LP             = archiveElement.LP,
                DocumentDate   = archiveElement.DocumentDate,
                RegNumber      = archiveElement.RegNumber,
                Currency       = archiveElement.Currency,
                BPStatus       = archiveElement.BPStatus,
                Contractor     = archiveElement.Contractor,
                DocumentNumber = archiveElement.DocumentNumber,
                SumPlusVAT     = archiveElement.SumPlusVAT,
                DocumentType   = archiveElement.DocumentType,
                Created        = archiveElement.Created,
                CreatedBy      = user.Name,
                Status         = archiveElement.Status,
                Description    = archiveElement.Description,
                Url            = archiveElement.Url,
                EditUrl        = archiveElement.EditUrl,
                ListID         = archiveElement.ListID,
                ItemID         = archiveElement.ItemID,
                FullId         = archiveElement.FullId,
            };

            return(item);
        }
コード例 #3
0
        public StatusValuePair <ArchiveEntities> Create(string url,
                                                        string editUrl,
                                                        int createById,
                                                        string listID         = null,
                                                        string itemID         = null,
                                                        DateTime?created      = null,
                                                        bool isArchiveElement = false,
                                                        string documentType   = null,
                                                        string description    = null,
                                                        string status         = null,
                                                        string barode         = null
                                                        )
        {
            const string sql = "EXECUTE [dbo].[P_ArchiveEntity_Create] @Url, @EditUrl, @Created, @CreatedBy, @IsArchiveElement, @DocumentType, @Description, @Status, @ListID, @ItemID";

            StatusValuePair <ArchiveEntities> procedureSingle = StoredProcedureSingle <ArchiveEntities>(sql,
                                                                                                        new
            {
                Url              = url,
                EditUrl          = editUrl,
                Created          = created ?? DateTime.Now,
                CreatedBy        = createById,
                IsArchiveElement = isArchiveElement,
                DocumentType     = documentType,
                Description      = description,
                Status           = status,
                ListID           = listID,
                ItemID           = itemID
            });

            if (!procedureSingle.HasValue || procedureSingle.Value == null)
            {
                return(procedureSingle);
            }


            string barcodestring;

            if (barode != null)
            {
                barcodestring = barode;
            }
            else
            {
                barcodestring = BarcodeFabric.Create(procedureSingle.Value.Id);
            }

            ArchiveEntities archiveEntities = procedureSingle.Value;

            archiveEntities.Barcode      = barcodestring;
            procedureSingle.Value.FullId = Barcodes.FormatItemID(procedureSingle.Value.ItemID);
            procedureSingle = Update(archiveEntities);

            if (!procedureSingle.HasValue)
            {
                Delete(archiveEntities);
            }

            return(procedureSingle);
        }
コード例 #4
0
        /// <summary>
        /// GIPO: Retorna objeto arcArchive a partir de um ID
        /// </summary>
        public static Archive.arcArchive GetById(int id)
        {
            ArchiveEntities archive = new ArchiveEntities(Account.Context.GetConnectionStringEntity("Archive"));
            IEnumerable <Archive.arcArchive> queryArchive;

            queryArchive = from a in archive.arcArchives
                           where a.IdArchive == id
                           select a;

            return(queryArchive.FirstOrDefault());
        }
コード例 #5
0
        /// <summary>
        /// GIPO: Retorna objeto arcArchive a partir de um nome
        /// </summary>
        public static Archive.arcArchive GetByName(string name)
        {
            ArchiveEntities archive = new ArchiveEntities(Account.Context.GetConnectionStringEntity("Archive"));
            IEnumerable <Archive.arcArchive> queryArchive;

            queryArchive = from a in archive.arcArchives
                           where a.Name.Equals(name)
                           select a;

            return(queryArchive.FirstOrDefault());
        }
コード例 #6
0
        public StatusValuePair <ArchiveEntities> UpdateByBarcode(ArchiveEntities archiveItem)
        {
            if (string.IsNullOrWhiteSpace(archiveItem.Barcode) || archiveItem.Barcode == default(int).ToString(CultureInfo.InvariantCulture))
            {
                return(new StatusValuePair <ArchiveEntities>(null, ErrorCode.UnknownError));
            }

            IFieldPredicate p = Predicates.Field <ArchiveEntities>(f => f.Barcode, Operator.Eq, archiveItem.Barcode);
            StatusValuePair <ArchiveEntities> result = GetSingle <ArchiveEntities>(p);

            if (!result.HasValue)
            {
                return(new ArchiveEntities());
            }

            result.Value.SE             = archiveItem.SE;
            result.Value.LP             = archiveItem.LP;
            result.Value.RegNumber      = archiveItem.RegNumber;
            result.Value.SumPlusVAT     = archiveItem.SumPlusVAT;
            result.Value.BPStatus       = archiveItem.BPStatus;
            result.Value.Contractor     = archiveItem.Contractor;
            result.Value.Currency       = archiveItem.Currency;
            result.Value.DocumentDate   = archiveItem.DocumentDate;
            result.Value.DocumentKind   = archiveItem.DocumentKind;
            result.Value.DocumentNumber = archiveItem.DocumentNumber;
            result.Value.DocumentType   = archiveItem.DocumentType;
            result.Value.Description    = archiveItem.Description;
            result.Value.Status         = archiveItem.Status;
            result.Value.FullId         = archiveItem.FullId;
            result.Value.IsUpdated      = true;
            if (!string.IsNullOrWhiteSpace(archiveItem.Url))
            {
                result.Value.Url = archiveItem.Url;
            }

            StatusValuePair <ArchiveEntities> updated = Update(result.Value);

            return(updated);
        }
コード例 #7
0
        public ErrorCode Delete(ArchiveEntities entity)
        {
            StatusValuePair <ArchiveEntities> result = Delete <ArchiveEntities>(entity);

            return(result.ErrorCode);
        }