示例#1
0
        public OBK_ZBKCopy SaveStartBlankNumber(int startNumber, Guid zbkCopyId, bool expApplication)
        {
            var copy = AppContext.OBK_ZBKCopy.FirstOrDefault(o => o.Id == zbkCopyId);

            copy.StartNumber = startNumber;
            int?startNum       = startNumber;
            int?endPrimeNumber = startNum + copy.CopyQuantity - 1;

            copy.EndPrimeNumber = endPrimeNumber;

            if (expApplication == false)
            {
                copy.StartApplicationNumber = endPrimeNumber + 1;
                copy.EndApplicationNumber   = endPrimeNumber + copy.CopyQuantity;
            }

            AppContext.OBK_ZBKCopy.AddOrUpdate(copy);

            clearBlankNumbers(zbkCopyId);

            var zbkCopyType            = AppContext.OBK_BlankType.FirstOrDefault(o => BlankTypes.ZBKCopy.Equals(o.Code));
            var zbkCopyApplicationType = AppContext.OBK_BlankType.FirstOrDefault(o => BlankTypes.ZBKApplicationCopy.Equals(o.Code));

            List <OBK_BlankNumber> list = new List <OBK_BlankNumber>();

            for (int i = (int)copy.StartNumber; i <= copy.EndPrimeNumber; i++)
            {
                OBK_BlankNumber blankNumber = new OBK_BlankNumber();
                blankNumber.Id          = Guid.NewGuid();
                blankNumber.Number      = i;
                blankNumber.CreateDate  = DateTime.Now;
                blankNumber.Object_Id   = copy.Id;
                blankNumber.BlankTypeId = zbkCopyType.Id;
                blankNumber.EmployeeId  = UserHelper.GetCurrentEmployee().Id;
                blankNumber.Corrupted   = false;
                list.Add(blankNumber);
            }

            if (copy.ExpApplication == false)
            {
                for (int i = (int)copy.StartApplicationNumber; i <= copy.EndApplicationNumber; i++)
                {
                    OBK_BlankNumber blankNumber = new OBK_BlankNumber();
                    blankNumber.Id          = Guid.NewGuid();
                    blankNumber.Number      = i;
                    blankNumber.CreateDate  = DateTime.Now;
                    blankNumber.Object_Id   = copy.Id;
                    blankNumber.BlankTypeId = zbkCopyApplicationType.Id;
                    blankNumber.EmployeeId  = UserHelper.GetCurrentEmployee().Id;
                    blankNumber.Corrupted   = false;
                    list.Add(blankNumber);
                }
            }

            AppContext.OBK_BlankNumber.AddRange(list);
            AppContext.SaveChanges();

            return(copy);
        }
示例#2
0
        public OBK_BlankResponse ReplaceBlank(int blankForReplace, int newBlank, Guid zbkCopyId)
        {
            var blankNumber = AppContext.OBK_BlankNumber.FirstOrDefault(o => o.Number == blankForReplace && o.Object_Id == zbkCopyId);

            if (blankNumber == null)
            {
                return(new OBK_BlankResponse
                {
                    message = "Исходный бланк не существует!",
                    response = false
                });
            }

            if (blankNumber.Corrupted == true)
            {
                return(new OBK_BlankResponse
                {
                    message = "Бланк заменен!",
                    response = false
                });
            }

            bool blankExistence = AppContext.OBK_BlankNumber.Any(o => o.Number == newBlank && o.Object_Id == zbkCopyId);

            var negative = new OBK_BlankResponse
            {
                message  = "Бланк уже используется! Выберите другой бланк.",
                response = false
            };

            if (blankExistence == true)
            {
                return(negative);
            }

            OBK_BlankNumber blank = new OBK_BlankNumber()
            {
                Id                 = Guid.NewGuid(),
                CreateDate         = DateTime.Now,
                EmployeeId         = UserHelper.GetCurrentEmployee().Id,
                Number             = newBlank,
                Object_Id          = blankNumber.Object_Id,
                ParentId           = blankNumber.Id,
                BlankTypeId        = blankNumber.BlankTypeId,
                Corrupted          = false,
                DecommissionedDate = DateTime.Now
            };

            blankNumber.Corrupted       = true;
            blankNumber.CorruptDate     = DateTime.Now;
            blankNumber.CorruptEmployee = UserHelper.GetCurrentEmployee().Id;

            AppContext.OBK_BlankNumber.Add(blank);
            AppContext.SaveChanges();

            return(new OBK_BlankResponse
            {
                message = "Успешно заменен!",
                response = true
            });
        }