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