public void SaveCertificateOfCompletion(Guid id) { var declaration = AppContext.OBK_AssessmentDeclaration.FirstOrDefault(e => e.Id == id); var directToPay = AppContext.OBK_DirectionToPayments.FirstOrDefault(e => e.ContractId == declaration.ContractId); var contractPrice = AppContext.OBK_ContractPrice.Where(e => e.ContractId == declaration.ContractId); double taxValue = TaxHelper.GetNdsRef(); var totalPrice = Convert.ToDecimal(contractPrice.Sum(e => (e.OBK_Ref_PriceList.Price * taxValue + e.OBK_Ref_PriceList.Price) * e.Count)); if (declaration != null) { OBK_CertificateOfCompletion act = new OBK_CertificateOfCompletion { Id = Guid.NewGuid(), Number = declaration.Number, ContractId = (Guid)declaration.ContractId, AssessmentDeclarationId = id, InvoiceNumber1C = directToPay?.InvoiceNumber1C, InvoiceDatetime1C = directToPay?.InvoiceDatetime1C, TotalPrice = totalPrice, CreateDate = DateTime.Now, SendDate = DateTime.Now, ActNumber1C = null, ActDate1C = null, ActReturnedBack = false, SendNotification = false }; AppContext.OBK_CertificateOfCompletion.Add(act); AppContext.SaveChanges(); } }
public ZBKViewModel EditCopy(Guid ZBKCopyId) { ZBKViewModel model = new ZBKViewModel(); OBK_ZBKCopy zbkCopy = AppContext.OBK_ZBKCopy.FirstOrDefault(o => o.Id == ZBKCopyId); var stageExpDocument = AppContext.OBK_StageExpDocument.FirstOrDefault(o => o.Id == zbkCopy.OBK_StageExpDocumentId); var declaration = AppContext.OBK_AssessmentDeclaration.FirstOrDefault(o => o.Id == stageExpDocument.AssessmentDeclarationId); var contract = AppContext.OBK_Contract.FirstOrDefault(o => o.Id == declaration.ContractId); var declarantContact = AppContext.OBK_DeclarantContact.FirstOrDefault(o => o.Id == contract.DeclarantContactId); var declarant = AppContext.OBK_Declarant.FirstOrDefault(o => o.Id == contract.DeclarantId); var organization = AppContext.Dictionaries.FirstOrDefault(o => o.Id == declarant.OrganizationFormId); var refType = AppContext.OBK_Ref_Type.FirstOrDefault(o => o.Id == declaration.TypeId); var directionPayment = AppContext.OBK_DirectionToPayments.FirstOrDefault(o => o.ZBKCopy_id == ZBKCopyId); var cerCompition = AppContext.OBK_CertificateOfCompletion.FirstOrDefault(o => o.ZBKCopyId == ZBKCopyId); if (zbkCopy.StatusId != null) { var refStatus = AppContext.OBK_Ref_Status.FirstOrDefault(o => o.Id == zbkCopy.StatusId); if (refStatus != null) { model.refStatus = int.Parse(refStatus.Code); } } model.Declarer = declarantContact.BossLastName + " " + declarantContact.BossFirstName + " " + declarantContact.BossMiddleName; model.ConclusionNumber = stageExpDocument.ExpConclusionNumber; model.ContractNumber = contract.Number; model.DeclarationNumber = declaration.Number; model.StartDate = stageExpDocument.ExpStartDate; model.ExpireDate = stageExpDocument.ExpEndDate; model.OrganizationName = organization.Name; model.CopyQuantity = zbkCopy.CopyQuantity; model.DeclarationType = refType.NameRu; model.ContractId = contract.Id; model.AttachPath = zbkCopy.AttachPath; model.Id = zbkCopy.Id; model.ExpApplication = stageExpDocument.ExpApplication; model.CopyQuantity = zbkCopy.CopyQuantity; model.Notes = zbkCopy.Notes; model.Nds = TaxHelper.GetNdsRef() + 1; model.LetterNumber = zbkCopy.LetterNumber; model.LetterDate = zbkCopy.LetterDate; model.actNumber1C = (cerCompition != null && cerCompition.ActNumber1C != null && cerCompition.ActReturnedBack == true); if (directionPayment != null && directionPayment.ZBKCopy_id != null && directionPayment.InvoiceNumber1C != null) { var directionSignData = AppContext.OBK_DirectionSignData.FirstOrDefault(o => o.DirectionToPaymentId == directionPayment.Id); if (directionSignData != null && directionSignData.ChiefAccountantSign != null) { model.PaymentInvoice = true; } } return(model); }
public ZBKViewModel GetZBKViewModel(Guid?stageId) { var stage = AppContext.OBK_ZBKCopyStage.FirstOrDefault(o => o.Id == stageId); var zbkCopy = AppContext.OBK_ZBKCopy.FirstOrDefault(o => o.Id == stage.OBK_ZBKCopyId); ZBKViewModel model = new ZBKViewModel(); var stageExpDocument = AppContext.OBK_StageExpDocument.FirstOrDefault(o => o.Id == zbkCopy.OBK_StageExpDocumentId); var declaration = AppContext.OBK_AssessmentDeclaration.FirstOrDefault(o => o.Id == stageExpDocument.AssessmentDeclarationId); var contract = AppContext.OBK_Contract.FirstOrDefault(o => o.Id == declaration.ContractId); var declarantContact = AppContext.OBK_DeclarantContact.FirstOrDefault(o => o.Id == contract.DeclarantContactId); var declarant = AppContext.OBK_Declarant.FirstOrDefault(o => o.Id == contract.DeclarantId); var organization = AppContext.Dictionaries.FirstOrDefault(o => o.Id == declarant.OrganizationFormId); var refType = AppContext.OBK_Ref_Type.FirstOrDefault(o => o.Id == declaration.TypeId); var stageStatusCode = AppContext.OBK_Ref_StageStatus.FirstOrDefault(o => o.Id == stage.StageStatusId); var currentUserId = UserHelper.GetCurrentEmployee().Id.ToString(); var certificateCompletion = AppContext.OBK_CertificateOfCompletion.FirstOrDefault(o => o.ZBKCopyId == zbkCopy.Id); model.Declarer = declarantContact.BossLastName + " " + declarantContact.BossFirstName + " " + declarantContact.BossMiddleName; model.ConclusionNumber = stageExpDocument.ExpConclusionNumber; model.ContractNumber = contract.Number; model.DeclarationNumber = declaration.Number; model.StartDate = stageExpDocument.ExpStartDate; model.ExpireDate = stageExpDocument.ExpEndDate; model.OrganizationName = organization.Name; model.CopyQuantity = zbkCopy.CopyQuantity; model.DeclarationType = refType.NameRu; model.ContractId = contract.Id; model.AttachPath = zbkCopy.AttachPath; model.Id = zbkCopy.Id; model.ExpApplication = stageExpDocument.ExpApplication; model.Notes = zbkCopy.Notes; model.StageStatusCode = stageStatusCode.Code; model.OriginalsGiven = zbkCopy.OriginalsGiven; model.StageId = stage.Id; model.ExtraditeDate = zbkCopy.ExtraditeDate; model.zbkCopiesReady = zbkCopy.zbkCopiesReady; model.SendToAccountant = stage.SendToAccountant; model.LetterDate = zbkCopy.LetterDate; model.LetterNumber = zbkCopy.LetterNumber; model.Nds = TaxHelper.GetNdsRef() + 1; model.IsBoss = AppContext.Units.Any(o => currentUserId.Equals(o.BossId)); model.actNumber1C = (certificateCompletion != null && certificateCompletion.ActReturnedBack == true && certificateCompletion.ActNumber1C != null); return(model); }
public ZBKViewModel CreateCopy(Guid stageExpDocId, Guid?ZBKCopyId) { ZBKViewModel model = new ZBKViewModel(); var stageExpDocument = AppContext.OBK_StageExpDocument.FirstOrDefault(o => o.Id == stageExpDocId); var declaration = AppContext.OBK_AssessmentDeclaration.FirstOrDefault(o => o.Id == stageExpDocument.AssessmentDeclarationId); var contract = AppContext.OBK_Contract.FirstOrDefault(o => o.Id == declaration.ContractId); var declarantContact = AppContext.OBK_DeclarantContact.FirstOrDefault(o => o.Id == contract.DeclarantContactId); var declarant = AppContext.OBK_Declarant.FirstOrDefault(o => o.Id == contract.DeclarantId); var organization = AppContext.Dictionaries.FirstOrDefault(o => o.Id == declarant.OrganizationFormId); var refType = AppContext.OBK_Ref_Type.FirstOrDefault(o => o.Id == declaration.TypeId); OBK_ZBKCopy zbkCopy = AppContext.OBK_ZBKCopy.FirstOrDefault(o => o.Id == ZBKCopyId); var status = AppContext.OBK_Ref_Status.FirstOrDefault(o => o.Code.Equals(CodeConstManager.STATUS_OBK_DRAFT_ID.ToString())); if (zbkCopy == null) { zbkCopy = new OBK_ZBKCopy(); zbkCopy.Id = Guid.NewGuid(); zbkCopy.AttachPath = FileHelper.GetObjectPathRoot(); zbkCopy.OBK_StageExpDocumentId = stageExpDocId; zbkCopy.ExpApplication = stageExpDocument.ExpApplication; AppContext.OBK_ZBKCopy.Add(zbkCopy); AppContext.SaveChanges(); zbkCopy.StatusId = status.Id; } model.Declarer = declarantContact.BossLastName + " " + declarantContact.BossFirstName + " " + declarantContact.BossMiddleName; model.ConclusionNumber = stageExpDocument.ExpConclusionNumber; model.ContractNumber = contract.Number; model.DeclarationNumber = declaration.Number; model.StartDate = stageExpDocument.ExpStartDate; model.ExpireDate = stageExpDocument.ExpEndDate; model.OrganizationName = organization.Name; model.CopyQuantity = zbkCopy.CopyQuantity; model.DeclarationType = refType.NameRu; model.ContractId = contract.Id; model.AttachPath = zbkCopy.AttachPath; model.Id = zbkCopy.Id; model.ExpApplication = stageExpDocument.ExpApplication; model.CopyQuantity = zbkCopy.CopyQuantity; model.Nds = TaxHelper.GetNdsRef() + 1; return(model); }