public static WFExchangeData PostModirDakhiliAction(ActionMethodParams actionMethodParams) { try { int contractId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>(); WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData; ContractRule contractRule = new ContractRule(UnitOfWork); DomainClasses.Contract.Contract contract = contractRule.Find(contractId); if (contract == null) { throw new OMFValidationException($" قرارداد با شناسه ثبت شده یافت نشد. شناسه: {contractId}"); } if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TabdelPishghrardadBeGharardad) { using (var uow = new UnitOfWork()) { contract.Status = Status.ConfirmationPreContract; contract.ContractType = ContractType.RentTo; // var contract_Sazes = uow.Repository<Contract_Saze>().Queryable().Where(x => x.ContractID == contract.ID).ToList(); foreach (var contract_Saze in contract.Contract_Sazes ?? new List <Contract_Saze>()) { contract_Saze.Status = Status.ConfirmationPreContract; contract_Saze.ObjectState = OMF.Common.Enums.ObjectState.Modified; } uow.Repository <DomainClasses.Contract.Contract>().Update(contract); uow.SaveChanges(); } InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork); var invoice = invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentTo); var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId); DocumentRule documentRule = new DocumentRule(); documentRule.Insert(document, invoice.OrganId); documentRule.SaveChanges(); } return(ex); } catch (Exception ex) { throw; } }
private async Task <int> createNumberDocumentAsync(int organId) { var count = 0; DocumentRule documentRule = new DocumentRule(); var documentQuery = await documentRule.GetAllByOrganIdAsync(organId); count = documentQuery.Count(); return(count++); }
private int createNumberDocument(int organId) { var count = 0; DocumentRule documentRule = new DocumentRule(); var documentQuery = documentRule.GetAllByOrganId(organId); count = documentQuery.Count(); return(count++); }
private async Task <Document> createDocument(PayRecevie payRecevie, int organId, int numberDocument) { FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false).SingleOrDefault(); Document document = new Document(); document.Credit = payRecevie.Amount; document.DateTime = PersianDateUtils.ToDateTime(payRecevie.DisplayDate); document.Debit = payRecevie.Amount; document.Description = payRecevie.Description; document.DisplayDate = payRecevie.DisplayDate; document.IsManual = false; document.Status = ZhivarEnums.DocumentStatus.TaeedShode; document.ObjectState = OMF.Common.Enums.ObjectState.Added; if (numberDocument != 0) { document.Number = numberDocument; document.Number2 = numberDocument; } else { DocumentRule documentRule = new DocumentRule(); document.Number = await documentRule.createNumberDocumentAsync(organId); document.Number2 = await documentRule.createNumberDocumentAsync(organId); } document.Status = ZhivarEnums.DocumentStatus.TaeedShode; document.StatusString = "تایید شده"; document.OrganId = organId; document.FinanYear = finanYear; document.FinanYearId = finanYear.ID; List <Transaction> transactions = new List <Transaction>(); if (payRecevie.IsReceive) { document.Type = ZhivarEnums.NoeDoc.Recive; transactions = await RegisterTransactionRecevie(document, payRecevie, organId); } else { document.Type = ZhivarEnums.NoeDoc.Pay; transactions = await RegisterTransactionPay(document, payRecevie, organId); } document.Transactions = transactions; return(document); }
private void convertHD2Data(int size) { try { int begincode = 0;; if (Session["attachmentconvertbegincode"] != null) { begincode = int.Parse(Session["attachmentconvertbegincode"].ToString()); } RmsPM.BLL.DocumentRule documentRule = DocumentRule.Instance(); int i = documentRule.ConvertFileToAttachment(size, ref begincode); if (Session["attachmentconvertcount"] == null) { Session["attachmentconvertcount"] = 0; } Session["attachmentconvertcount"] = int.Parse(Session["attachmentconvertcount"].ToString()) + i; Session["attachmentconvertbegincode"] = begincode; if (i > 0) { Session["attachmentconvertmsg"] = "转换中请等待,已转换" + Session["attachmentconvertcount"].ToString() + "个附件......"; Label1.Text = Session["attachmentconvertmsg"].ToString(); TextBox1.Text = Session["attachmentconvertsize"].ToString(); Response.Write(Rms.Web.JavaScript.Reload(true)); } else { Label1.Text = "转换完成,共转换" + Session["attachmentconvertcount"].ToString() + "个附件."; Session["attachmentconvertsize"] = null; Session["attachmentconvertmsg"] = null; Session["attachmentconvertcount"] = null; Session["attachmentconvertbegincode"] = null; //Response.Write(Rms.Web.JavaScript.Alert(true, "ok")); } } catch (Exception exp) { Session["attachmentconvertsize"] = null; Session["attachmentconvertmsg"] = null; Session["attachmentconvertcount"] = null; Session["attachmentconvertbegincode"] = null; Label1.Text = Label1.Text + " ---- 转换中发生错误,错误信息:<br>" + exp.ToString(); } }
protected void Page_Load(object sender, System.EventArgs e) { string AttachMentCode = "" + Request["AttachMentCode"]; if (AttachMentCode == "") { return; } if (!Page.IsPostBack) { try { //modi by simon DocumentRule documentRule = DocumentRule.Instance(); documentRule.GetAttachmentByCode(AttachMentCode); Response.Clear(); Response.BufferOutput = true; Response.ContentType = "image/jpeg"; Response.BinaryWrite(documentRule.Content); Response.Flush(); Response.End(); /* * EntityData entity = DAL.EntityDAO.WBSDAO.GetAttachMentByCode(AttachMentCode); * if (entity.HasRecord()) * { * if ( !entity.CurrentRow.IsNull("Content") ) * Response.BinaryWrite((byte[]) entity.CurrentRow["Content"] ); * } * entity.Dispose(); * */ } catch (Exception ex) { ApplicationLog.WriteLog(this.ToString(), ex, "读取图片失败"); } } }
public async Task <HttpResponseMessage> DeleteInvoices([FromBody] string strIds) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); string failurs = ""; string[] values = strIds.Split(','); for (int i = 0; i < values.Length - 1; i++) { var id = Convert.ToInt32(values[i].Trim()); DocumentRule documentRule = new DocumentRule(); PayRecevieRule payRecevieRule = new PayRecevieRule(); var payRecevieQuery = await payRecevieRule.GetByInvoiceIdAsync(id); if (payRecevieQuery.Any()) { failurs += "<br/>" + "برای این فاکنور دریافت/ پرداخت انجام شده است برای حذف باید دریافت و پرداخت حذف گردد."; } else { await Rule.DeleteAsync(id); await this.BusinessRule.UnitOfWork.SaveChangesAsync(); } } if (!string.IsNullOrEmpty(failurs)) { return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.ValidationError, data = failurs })); } else { return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = "" })); } }
private void convertData2HD(int size) { try { RmsPM.BLL.DocumentRule documentRule = DocumentRule.Instance(); LogHelper.WriteLog("TestLog", new Exception("TestLog")); int i = documentRule.ConvertAttachmentToFile(size); if (Session["attachmentconvertcount"] == null) { Session["attachmentconvertcount"] = 0; } Session["attachmentconvertcount"] = (int)Session["attachmentconvertcount"] + i; if (i > 0) { Session["attachmentconvertmsg"] = "转换中请等待,已转换" + Session["attachmentconvertcount"].ToString() + "个附件......"; Label1.Text = Session["attachmentconvertmsg"].ToString(); TextBox1.Text = Session["attachmentconvertsize"].ToString(); Response.Write(Rms.Web.JavaScript.Reload(true)); } else { Label1.Text = "转换完成,共转换" + Session["attachmentconvertcount"].ToString() + "个附件."; Session["attachmentconvertsize"] = null; Session["attachmentconvertmsg"] = null; Session["attachmentconvertcount"] = null; Session["attachmentconvertbegincode"] = null; //Response.Write(Rms.Web.JavaScript.Alert(true, "ok")); } } catch (Exception exp) { Session["attachmentconvertsize"] = null; Session["attachmentconvertmsg"] = null; Session["attachmentconvertcount"] = null; Session["attachmentconvertbegincode"] = null; Label1.Text = Label1.Text + " ---- 转换中发生错误,错误信息:<br>" + exp.ToString(); } }
private void OutputAttachment(string AttachMentCode, string AttachMent, DocumentRule documentRule) { documentRule.GetAttachmentByCode(AttachMentCode); Response.Clear(); Response.ContentType = documentRule.ContentType; switch (AttachMent) { case "0": break; case "1": Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(documentRule.FileName)); break; default: //Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filename)); Response.AppendHeader("Content-Disposition", "filename=" + Server.UrlEncode(documentRule.FileName)); break; } Response.BinaryWrite(documentRule.Content); Response.Flush(); Response.End(); }
public static WFExchangeData PostModirAction(ActionMethodParams actionMethodParams) { try { int invoiceId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>(); WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData; InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork); Invoice invoice = invoiceRule.Find(invoiceId); if (invoice == null) { throw new OMFValidationException($"فاکتوری با شناسه ثبت شده یافت نشد. شناسه: {invoiceId}"); } if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TaeedVaKhateme) { var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId); DocumentRule documentRule = new DocumentRule(); documentRule.Insert(document, invoice.OrganId); documentRule.SaveChanges(); invoice.Status = NoeInsertFactor.WaitingToReceive; invoiceRule.Update(invoice); invoiceRule.SaveChanges(); } return(ex); } catch (Exception ex1) { throw; } }
private void InitPage() { string AttachMentCode = Request.QueryString["AttachMentCode"] + ""; DocumentRule documentRule = DocumentRule.Instance(); new ViewAttachment().OutputAttachment(Response, AttachMentCode, "", documentRule); /* * EntityData entityAttachMent = RemindDAO.GetNoticeAttachMentByCode(AttachMentCode); * DataRow dr = entityAttachMent.CurrentRow; * * * if (dr["Content"].ToString() == "" || dr["Content"] == null) * { * return; * } * * if (dr["Content_Type"].ToString() == "" || dr["Content_Type"] == null) * { * return; * } * * string filename = ""; * * if (dr["filename"] != null) * { * filename = dr["filename"].ToString(); * } * * Response.ContentType = dr["Content_Type"].ToString(); * Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filename)); * Response.BinaryWrite((byte[]) dr["Content"]); * Response.Write("window.close();"); * Response.End(); * */ }
private void convertHD2HD(int size) { int begincode = 0;; if (Session["attachmentconvertbegincode"] != null) { begincode = int.Parse(Session["attachmentconvertbegincode"].ToString()); } RmsPM.BLL.DocumentRule documentRule = DocumentRule.Instance(); init(); if (_SavePathMode == AttachmentSavePathMode.ROOT) { Label1.Text = "路径选项配置不正确,无法转换"; return; } EntityData entity = new EntityData(); using (SingleEntityDAO dao = new SingleEntityDAO("AttachMent")) { dao.FillEntity("select top " + size.ToString() + " * from attachment where content is null and guidname is not null and attachmentcode>" + begincode + " order by attachmentcode", "", "", entity, "AttachMent"); } DataTable dt = entity.CurrentTable; int count = 0; if (dt.Rows.Count > 0) { Rms.LogHelper.LogHelper.Warn("附件目录转换开始 code>" + begincode.ToString()); try { foreach (DataRow dr in dt.Rows) { DirectoryInfo dir = new DirectoryInfo(GetPath(dr["createdate"].ToString())); if (!dir.Exists) { dir.Create(); } FileInfo file = new FileInfo(Path.Combine(_Path, dr["guidname"].ToString())); if (file.Exists) { file.MoveTo(GetFileName(file.Name, dr["createdate"].ToString())); } else { Rms.LogHelper.LogHelper.Warn("文件未找到" + file.Name); } if (int.Parse(dr["attachmentcode"].ToString()) > begincode) { begincode = int.Parse(dr["attachmentcode"].ToString()); } } Session["attachmentconvertbegincode"] = begincode; Session["attachmentconvertmsg"] = "转换中请等待"; Response.Write(Rms.Web.JavaScript.Reload(true)); } catch (Exception exp) { Rms.LogHelper.LogHelper.Warn("转换错误", exp); Label1.Text = "转换异常中止,请查看错误日志"; } } else { Label1.Text = "转换完成;"; Session["attachmentconvertsize"] = null; Session["attachmentconvertmsg"] = null; Session["attachmentconvertcount"] = null; Session["attachmentconvertbegincode"] = null; } }
private void GetDefaultDocumentRule() { try { DocumentRule dr = new DocumentRule(); WebUtility.WriteAjaxResult(true, null, dr); } catch (Exception E) { WebUtility.WriteAjaxError("err_file_io", E); } }
private async Task <Document> CreateDocumentChangeChequeStatus(ChequesAndStatsVM chequesAndStatsVM, int organId) { FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false).SingleOrDefault(); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); DocumentRule documentRule = new DocumentRule(); Document document = new Document(); document.Credit = cheque.Amount; document.DateTime = PersianDateUtils.ToDateTime(chequesAndStatsVM.date); document.Debit = cheque.Amount; document.Description = chequesAndStatsVM.description; document.DisplayDate = chequesAndStatsVM.date; document.IsManual = false; document.Status = ZhivarEnums.DocumentStatus.TaeedShode; document.Number = await documentRule.createNumberDocumentAsync(organId); document.Number2 = await documentRule.createNumberDocumentAsync(organId); document.StatusString = "تایید شده"; document.OrganId = organId; document.FinanYear = finanYear; document.FinanYearId = finanYear.ID; document.Type = ZhivarEnums.NoeDoc.Recive; List <Transaction> transactions = new List <Transaction>(); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); switch (chequesAndStatsVM.receiveType) { case "cash": { var accountCash = accounts.Where(x => x.ComplteCoding == "1101" + chequesAndStatsVM.detailAccount.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, AccountId = accountCash.ID, Amount = cheque.Amount, Description = chequesAndStatsVM.description, Credit = 0, Debit = cheque.Amount, IsCredit = false, IsDebit = true, DocumentId = document.ID, Date = PersianDateUtils.ToDateTime(chequesAndStatsVM.date), DisplayDate = chequesAndStatsVM.date }); break; } case "bank": { var accountBank = accounts.Where(x => x.ComplteCoding == "1103" + chequesAndStatsVM.detailAccount.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, AccountId = accountBank.ID, Amount = cheque.Amount, Description = chequesAndStatsVM.description, Credit = 0, Debit = cheque.Amount, IsCredit = false, IsDebit = true, DocumentId = document.ID, Date = PersianDateUtils.ToDateTime(chequesAndStatsVM.date), DisplayDate = chequesAndStatsVM.date }); break; } } var asnadDreaftaniAccount = accounts.Where(x => x.ComplteCoding == "1105" + cheque.Contact.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, AccountId = asnadDreaftaniAccount.ID, Amount = cheque.Amount, Credit = cheque.Amount, Debit = 0, Description = chequesAndStatsVM.description, DocumentId = document.ID, IsCredit = true, IsDebit = false, Date = PersianDateUtils.ToDateTime(chequesAndStatsVM.date), DisplayDate = chequesAndStatsVM.date }); document.Transactions = transactions; return(document); }
public async Task <HttpResponseMessage> SaveInvoice([FromBody] InvoiceVM invoiceVM) { try { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false && x.OrganId == organId); invoiceVM.InvoiceItems = invoiceVM.InvoiceItems.Where(x => x.Item != null).ToList(); foreach (var invoiceItem in invoiceVM.InvoiceItems) { if (invoiceItem.Item != null) { invoiceItem.ItemId = invoiceItem.Item.ID; } } if (invoiceVM.Contact != null) { invoiceVM.ContactId = invoiceVM.Contact.ID; } Invoice invoice = new Invoice(); Mapper.Map(invoiceVM, invoice); invoice.OrganId = organId; //if (invoice.Contact != null) //{ // invoice.ContactId = invoice.Contact.ID; //} // invoice.InvoiceItems = invoice.InvoiceItems.Where(x => x.ItemId != 0).ToList(); InvoiceValidate validator = new InvoiceValidate(); FluentValidation.Results.ValidationResult results = validator.Validate(invoice); string failurs = ""; if (!results.IsValid) { foreach (var error in results.Errors) { failurs += "<br/>" + error.ErrorMessage; } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.ValidationError, data = failurs })); } if (invoice.ID > 0) { foreach (var invoiceItem in invoice.InvoiceItems) { invoiceItem.InvoiceId = invoice.ID; if (invoiceItem.ID > 0) { invoiceItem.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { invoiceItem.ObjectState = OMF.Common.Enums.ObjectState.Added; } //if (invoiceItem.Item != null) // invoiceItem.Item = null;//.ObjectState = OMF.Common.Enums.ObjectState.Unchanged; } invoice.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { foreach (var invoiceItem in invoice.InvoiceItems) { invoiceItem.ObjectState = OMF.Common.Enums.ObjectState.Added; //if (invoiceItem.Item != null) // invoiceItem.Item = null;//.ObjectState = OMF.Common.Enums.ObjectState.Unchanged; } invoice.ObjectState = OMF.Common.Enums.ObjectState.Added; } this.BusinessRule.UnitOfWork.RepositoryAsync <Invoice>().InsertOrUpdateGraph(invoice); ContactRule contactRule = new ContactRule(); await contactRule.UpdateContact(invoice.InvoiceType, invoice.ContactId); //await this.BusinessRule.UnitOfWork.SaveChangesAsync(); if (invoice.Status == ZhivarEnums.NoeInsertFactor.WaitingToReceive) { var document = await Rule.RegisterDocumentAsync(invoiceVM, organId); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(document, organId); await documentRule.SaveChangesAsync(); invoice.DocumentID = document.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <Invoice>().Update(invoice); //await this.BusinessRule.UnitOfWork.SaveChangesAsync(); } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); // await RegisterDocument(invoice, organId); return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = invoice })); } catch (Exception ex) { throw; } }
public virtual async Task <HttpResponseMessage> ChangeChequeStatus([FromBody] ChequesAndStatsVM chequesAndStatsVM) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); ChequeVM chequeVM = new ChequeVM(); switch (chequesAndStatsVM.change) { // وصول چک پرداختی case "PaidChequeReceipt": { chequesAndStatsVM.description = " وصول چک پرداختی"; var doucument = await CreateDocumentPaidChequeReceipt(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.Passed; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // وصول چک دریافتی case "ReceivedChequeReceipt": { chequesAndStatsVM.description = " وصول چک دریافتی"; var doucument = await CreateDocumentChangeChequeStatus(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.Passed; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // وصول چک واگذار شده به بانک case "DepositChequeReceipt": { chequesAndStatsVM.description = "وصول چک واگذار شده به بانک"; var doucument = await CreateDocumentDepositChequeReceipt(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.Passed; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // واگذاری چک به بانک case "ReceivedChequeDeposit": { chequesAndStatsVM.description = "واگذاری چک به بانک"; var doucument = await CreateDocumentReceivedChequeDeposit(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.InProgress; BankRule bankRule = new BankRule(); var banks = await bankRule.GetAllByOrganIdAsync(organId); var bank = banks.Where(x => x.Code == chequesAndStatsVM.detailAccount.Code).SingleOrDefault(); cheque.DepositBankId = bank.ID; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // عودت دادن چک پرداختی case "PaidChequeReturn": { //chequesAndStatsVM.description = "عودت دادن چک پرداختی"; var doucument = await CreateDocumentPaidChequeReturn(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.ChequeReturn; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // عودت دادن چک دریافتی case "ReceivedChequeReturn": { chequesAndStatsVM.description = "عودت دادن چک دریافتی"; var doucument = await CreateDocumentReceivedChequeReturn(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.ChequeReturn; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // تغییر وضعیت چک پرداختی به پاس نشده case "PaidChequeToNotPass": { chequesAndStatsVM.description = "تغییر وضعیت چک پرداختی به پاس نشده"; chequesAndStatsVM.date = PersianDateUtils.ToPersianDate(DateTime.Now); var doucument = await CreateDocumentPaidChequeToNotPass(chequesAndStatsVM, organId); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.Normal; chequeRule.Update(cheque); await chequeRule.SaveChangesAsync(); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(doucument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } // تغییر وضعیت چک دریافتی به وصول نشده case "ReceivedChequeToNotPass": { chequesAndStatsVM.description = "تغییر وضعیت چک دریافتی به وصول نشده"; ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); PayRecevieRule payRecevieRule = new PayRecevieRule(); List <Document> doucuments = await payRecevieRule.GetDoucumentIDByChequeIdAsync(chequesAndStatsVM.chequeId); cheque.Status = ZhivarEnums.ChequeStatus.Normal; chequeRule.Update(cheque); Document newDocument = new Document(); DocumentRule documentRule = new DocumentRule(); foreach (var document in doucuments) { newDocument = new Document() { Credit = document.Credit, Description = chequesAndStatsVM.description, Debit = document.Debit, DateTime = DateTime.Now, DisplayDate = PersianDateUtils.ToPersianDate(DateTime.Now), FinanYear = document.FinanYear, FinanYearId = document.FinanYearId, IsFirsDocument = document.IsFirsDocument, IsManual = document.IsManual, Number = await documentRule.createNumberDocumentAsync(organId), Number2 = await documentRule.createNumberDocumentAsync(organId), OrganId = organId, Status = ZhivarEnums.DocumentStatus.TaeedShode, StatusString = document.StatusString, Type = ZhivarEnums.NoeDoc.Pay }; TransactionRule transactionRule = new TransactionRule(); var transactions = await transactionRule.GetAllByOrganIdAsync(organId); transactions = transactions.Where(x => x.DocumentId == document.ID).ToList(); newDocument.Transactions = new List <Transaction>(); Transaction newTransaction = new Transaction(); foreach (var transaction in transactions) { //newTransaction.AccDocument = newDocument; //newTransaction.Account = transaction.Account; newTransaction.AccountId = transaction.AccountId; newTransaction.Amount = transaction.Amount; newTransaction.Cheque = transaction.Cheque; newTransaction.ChequeId = transaction.ChequeId; newTransaction.ContactId = transaction.ContactId; newTransaction.Credit = transaction.Debit; newTransaction.Date = DateTime.Now; newTransaction.Debit = transaction.Credit; newTransaction.Description = chequesAndStatsVM.description; newTransaction.DisplayDate = PersianDateUtils.ToPersianDate(DateTime.Now); newTransaction.DocumentId = newDocument.ID; newTransaction.InvoiceId = transaction.InvoiceId; newTransaction.IsCredit = transaction.IsDebit; newTransaction.IsDebit = transaction.IsCredit; newTransaction.PaymentMethod = transaction.PaymentMethod; newTransaction.PaymentMethodString = transaction.PaymentMethodString; newTransaction.Reference = transaction.Reference; newTransaction.RefTrans = transaction.RefTrans; newTransaction.Remaining = transaction.Remaining; newTransaction.RemainingType = transaction.RemainingType; newTransaction.RowNumber = transaction.RowNumber; newTransaction.Stock = transaction.Stock; newTransaction.TransactionTypeString = transaction.TransactionTypeString; newTransaction.Type = transaction.Type; newTransaction.UnitPrice = transaction.UnitPrice; newDocument.Transactions.Add(newTransaction); } } await documentRule.InsertAsync(newDocument, organId); await documentRule.SaveChangesAsync(); //AccountNumber: "" chequeVM.Amount = cheque.Amount; chequeVM.BankBranch = cheque.BankBranch; //chequeVM.BankDetailAccount: null chequeVM.BankName = cheque.BankName; chequeVM.ChequeNumber = cheque.ChequeNumber; chequeVM.Contact = cheque.Contact; chequeVM.Date = cheque.Date; chequeVM.DepositBank = cheque.DepositBank; //chequeVM.DepositDate = cheque.DepositBank; chequeVM.DisplayDate = cheque.DisplayDate; chequeVM.ID = cheque.ID; //chequeVM.MyCheque = cheque.DepositBank; //chequeVM.Overdue = cheque.Overdue; //chequeVM.Payee = cheque.Payee; //chequeVM.Payer = cheque.Payer; chequeVM.ReceiptDate = cheque.ReceiptDate; //chequeVM.ReturnDate = cheque.ReturnDate; chequeVM.Status = cheque.Status; chequeVM.StatusString = "وصول شده"; break; } default: break; } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = chequeVM })); }
private async Task <Document> CreateDocumentPaidChequeReceipt(ChequesAndStatsVM chequesAndStatsVM, int organId) { FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false).SingleOrDefault(); ChequeRule chequeRule = new ChequeRule(); var cheque = await chequeRule.FindAsync(chequesAndStatsVM.chequeId); //var chequeBanks = await _chequeBankService.GetAllByOrganIdAsync(organId); var chequeBanks = this.BusinessRule.UnitOfWork.RepositoryAsync <ChequeBank>().Queryable().Where(x => x.OrganId == organId); var chequeBank = chequeBanks.Where(x => x.ChequeId == cheque.ID).SingleOrDefault(); BankRule bankRule = new BankRule(); var bank = await bankRule.FindAsync(chequeBank.BankId); DocumentRule documentRule = new DocumentRule(); Document document = new Document(); document.Credit = cheque.Amount; document.DateTime = PersianDateUtils.ToDateTime(chequesAndStatsVM.date); document.Debit = cheque.Amount; document.Description = chequesAndStatsVM.description; document.DisplayDate = chequesAndStatsVM.date; document.IsManual = false; document.Status = ZhivarEnums.DocumentStatus.TaeedShode; document.Number = await documentRule.createNumberDocumentAsync(organId); document.Number2 = await documentRule.createNumberDocumentAsync(organId); document.StatusString = "تایید شده"; document.OrganId = organId; document.FinanYear = finanYear; document.FinanYearId = finanYear.ID; document.Type = ZhivarEnums.NoeDoc.Recive; List <Transaction> transactions = new List <Transaction>(); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountPay = accounts.Where(x => x.ComplteCoding == "2102" + bank.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, AccountId = accountPay.ID, Amount = cheque.Amount, Description = chequesAndStatsVM.description, Credit = 0, Debit = cheque.Amount, IsCredit = false, IsDebit = true, DocumentId = document.ID, Date = PersianDateUtils.ToDateTime(chequesAndStatsVM.date), DisplayDate = chequesAndStatsVM.date }); var accountBank = accounts.Where(x => x.ComplteCoding == "1103" + bank.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, AccountId = accountBank.ID, Amount = cheque.Amount, Credit = cheque.Amount, Debit = 0, Description = chequesAndStatsVM.description, DocumentId = document.ID, IsCredit = true, IsDebit = false, Date = PersianDateUtils.ToDateTime(chequesAndStatsVM.date), DisplayDate = chequesAndStatsVM.date }); document.Transactions = transactions; return(document); }
public async Task <HttpResponseMessage> SaveCost([FromBody] CostVM costVM) { try { bool ShouldSend = false; var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false && x.OrganId == organId); costVM.CostItems = costVM.CostItems.Where(x => x.Item != null && x.Sum > 0).ToList(); foreach (var costItem in costVM.CostItems) { if (costItem.Item != null) { costItem.ItemId = costItem.Item.ID; } } Cost cost = new Cost(); Mapper.Map(costVM, cost); cost.OrganId = organId; if (costVM.Contact != null) { cost.ContactId = costVM.Contact.ID;//.DetailAccount.Node.Id; } cost.CostItems = cost.CostItems.Where(x => x.ItemId != 0 && x.Sum > 0).ToList(); CostValidate validator = new CostValidate(); FluentValidation.Results.ValidationResult results = validator.Validate(cost); string failurs = ""; if (!results.IsValid) { foreach (var error in results.Errors) { failurs += "<br/>" + error.ErrorMessage; } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.ValidationError, data = failurs })); } if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager")) { cost.Status = ZhivarEnums.CostStatus.WaitingToPay; } else if (costVM.Status == ZhivarEnums.CostStatus.WaitingToPay) { ShouldSend = true; } else { cost.Status = ZhivarEnums.CostStatus.Temporary; } //if (cost.Status == ZhivarEnums.CostStatus.WaitingToPay) //{ // var document = await Rule.RegisterDocument(costVM, organId); // DocumentRule documentRule = new DocumentRule(); // await documentRule.InsertAsync(document, organId); //} if (cost.ID > 0) { foreach (var costItem in cost.CostItems) { costItem.ObjectState = OMF.Common.Enums.ObjectState.Modified; costItem.CostId = cost.ID; } cost.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { foreach (var costItem in cost.CostItems) { costItem.ObjectState = OMF.Common.Enums.ObjectState.Added; } cost.ObjectState = OMF.Common.Enums.ObjectState.Added; } Rule.InsertOrUpdateGraph(cost); if (costVM.ID <= 0) { if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager")) { var document = await Rule.RegisterDocument(costVM, organId); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(document, organId); await documentRule.SaveChangesAsync(); cost.DocumentId = document.ID; } } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); if (ShouldSend) { await StartWorkFlow(new WorkFlowBusiClass() { Code = "Cost", ID = cost.ID, OrganizationID = 22, InstanceTitle = cost.Explain }, true); } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = cost })); } catch (Exception ex) { throw; } }
/// **************************************************************************** /// <summary> /// 执行 sql 语句将查询结果帮定显示。 /// </summary> /// **************************************************************************** private void LoadData1() { string sql = (string)this.ViewState["SqlString"]; QueryAgent qa = new QueryAgent(); EntityData entity = qa.FillEntityData("WorkFlowAct", sql); qa.Dispose(); //流程意见 DataColumn Opinion = new DataColumn(); Opinion.ColumnName = "Opinion"; Opinion.DefaultValue = ""; Opinion.DataType = System.Type.GetType("System.String"); //流程同意否决项 DataColumn Opinion1 = new DataColumn(); Opinion1.ColumnName = "OpinionConfirm"; Opinion1.DefaultValue = ""; Opinion1.DataType = System.Type.GetType("System.String"); //增加流程角色名 DataColumn Opinion2 = new DataColumn(); Opinion2.ColumnName = "RoleName"; Opinion2.DefaultValue = ""; Opinion2.DataType = System.Type.GetType("System.String"); //结束 DataColumn Opinion3 = new DataColumn(); Opinion3.ColumnName = "IsEnd"; Opinion3.DefaultValue = "1"; Opinion3.DataType = System.Type.GetType("System.String"); entity.CurrentTable.Columns.Add(Opinion); entity.CurrentTable.Columns.Add(Opinion1); entity.CurrentTable.Columns.Add(Opinion2); entity.CurrentTable.Columns.Add(Opinion3); WorkCase workCase = Rms.WorkFlow.WorkCaseManager.GetWorkCase(this.ViewState["_CaseCode"].ToString()); System.Collections.IDictionaryEnumerator ie = workCase.GetOpinionEnumerator(); string TaskCode = ""; if (this.ActCode != "" && !this.Scout) { Act act = workCase.GetAct(this.ActCode); TaskCode = act.ToTaskCode; } while (ie.MoveNext()) { Opinion Flowopinion = (Opinion)ie.Value; foreach (DataRow dr in entity.CurrentTable.Rows) { //获取当前辅助控制的状态 ModuleState moduleState = this.Toobar.GetModuleState(WorkFlowRule.GetTaskOpinionTypeByActCode(dr["ActCode"].ToString())); //加载意见标题项 Procedure procedure = DefinitionManager.GetProcedureDifinition(dr["ProcedureCode"].ToString(), true); Task task = procedure.GetTask(dr["ToTaskCode"].ToString()); string IsCopy = dr["Copy"].ToString(); //判断是否为结束 if (task.TaskType == 2) { dr["IsEnd"] = "0"; } if (task != null) { if (dr["TaskActorID"].ToString() != "") { TaskActor taskActor = task.GetTaskActor(dr["TaskActorID"].ToString()); if (taskActor.OpinionType + "" != "") { dr["RoleName"] = taskActor.OpinionType + "意见"; } else { Role role = procedure.GetRole(taskActor.ActorCode); if (role != null) { dr["RoleName"] = role.RoleName + "意见"; } } } else { if (task.OpinionType + "" != "") { dr["RoleName"] = task.OpinionType + "意见"; } else { Role role = procedure.GetRole(task.TaskRole); if (role != null) { dr["RoleName"] = role.RoleName + "意见"; } } } } if (dr["ActCode"].ToString() == Flowopinion.ApplicationCode) { //加载同意否决项 this.LoadOpinionConfirm(dr["ApplicationSubject"].ToString(), dr); //加载默认用户 this.LoadImgSign(moduleState, dr["ActUserCode"].ToString(), dr); //当前状态为End时 if (dr["Status"].ToString() == "End") { Act tmpAct = workCase.GetAct(dr["ActCode"].ToString()); // 1为抄送并且公开;2为抄送发起人;3为抄送人自己;4为当前用户拥有监控权限 以上4种情况将允许意见的出现 if (!(tmpAct.Copy == 1 && tmpAct.IsSleep == 0) || (tmpAct.ToTaskCode == TaskCode && tmpAct.FromUserCode == this.UserCode && tmpAct.Copy == 1) || tmpAct.ActUserCode == this.UserCode || this.IsScoutPopedom) { if (moduleState != ModuleState.Sightless && moduleState != ModuleState.Other) { //获取意见项 if (Flowopinion.OpinionText.Length > 0) { //dr["Opinion"] = "<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');\">" + Flowopinion.OpinionText.Substring(0, 50) + "...</a>"; dr["Opinion"] = Flowopinion.OpinionText.Replace("\n", "<br>") + " "; string tmpstr = DocumentRule.Instance().GetAttachListHtml("WorkFlowActOpinion", tmpAct.ActCode); if (tmpstr != "") { //dr["Opinion"] += " <img src=\"../Images/attach.gif\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" /></a><br>" + "附件:" + tmpstr; dr["Opinion"] += "<br>" + "附件:" + tmpstr; } } } } } } } } if (Request["Debug"] + "" == "1") { string procedureCode = entity.GetString("ProcedureCode"); Procedure procedure = DefinitionManager.GetProcedureDifinition(procedureCode, true); /////////////////创建属性表/////////////////// DataTable PropertyTable = RmsPM.BLL.WorkFlowRule.GetPropertyTable(workCase, procedure); this.DataGrid1.DataSource = entity; this.DataGrid1.DataBind(); this.DataGrid2.DataSource = PropertyTable; this.DataGrid2.DataBind(); } DataView dv; if (!((User)Session["user"]).HasOperationRight("090102")) { dv = new DataView(entity.CurrentTable, String.Format(" ActUserCode='{0}' or (FromUserCode='{0}' and Copy='1') or (Copy = '1' and IsSleep='1') or Copy='0'", UserCode), "", DataViewRowState.CurrentRows); } else { dv = new DataView(entity.CurrentTable); } this.DataGrid3.DataSource = dv; this.DataGrid3.DataBind(); foreach (DataRow dr in entity.CurrentTable.Select()) { Act tmpAct = workCase.GetAct(dr["ActCode"].ToString()); if (dr["IsEnd"].ToString() == "0" || tmpAct.Copy == 1) { entity.CurrentTable.Rows.Remove(dr); } } this.DataGrid4.DataSource = entity.CurrentTable; this.DataGrid4.DataBind(); if (dv.Count == 0) { this.Visible = false; } else { this.Visible = true; if (this.ActCode != "" && !this.Scout) { //Act act = workCase.GetAct(this.ActCode); //string TaskCode = act.ToTaskCode; for (int i = 0; i < DataGrid3.Items.Count; i++) { //DataGrid3.Items[i].Cells[10].Text.Trim() == "ActCode" && if (DataGrid3.Items[i].Cells[11].Text.Trim() == TaskCode && DataGrid3.Items[i].Cells[12].Text.Trim() == this.UserCode && DataGrid3.Items[i].Cells[13].Text.Trim() == "1") { Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim()); ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Checked = (tmpact.IsSleep == 1); ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = true; } else { ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false; Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim()); if (tmpact.IsSleep == 1 && tmpact.Copy == 1) { DataGrid3.Items[i].Cells[9].Text = " √"; } else if (tmpact.IsSleep == 0 && tmpact.Copy == 1) { DataGrid3.Items[i].Cells[9].Text = " x"; } } } } if (this.Scout) { for (int i = 0; i < DataGrid3.Items.Count; i++) { ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false; Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim()); if (tmpact.IsSleep == 1 && tmpact.Copy == 1) { DataGrid3.Items[i].Cells[9].Text = " √"; } else if (tmpact.IsSleep == 0 && tmpact.Copy == 1) { DataGrid3.Items[i].Cells[9].Text = " x"; } } } } entity.Dispose(); }
/// **************************************************************************** /// <summary> /// 执行 sql 语句将查询结果帮定显示。 /// </summary> /// **************************************************************************** private void LoadData() { string sql = (string)this.ViewState["SqlString"]; QueryAgent qa = new QueryAgent(); EntityData entity = qa.FillEntityData("WorkFlowAct", sql); qa.Dispose(); DataColumn Opinion = new DataColumn(); Opinion.ColumnName = "Opinion"; Opinion.DefaultValue = ""; Opinion.DataType = System.Type.GetType("System.String"); entity.CurrentTable.Columns.Add(Opinion); WorkCase workCase = Rms.WorkFlow.WorkCaseManager.GetWorkCase(this.ViewState["_CaseCode"].ToString()); System.Collections.IDictionaryEnumerator ie = workCase.GetOpinionEnumerator(); string TaskCode = ""; if (this.ActCode != "" && !this.Scout) { Act act = workCase.GetAct(this.ActCode); TaskCode = act.ToTaskCode; } while (ie.MoveNext()) { Opinion Flowopinion = (Opinion)ie.Value; foreach (DataRow dr in entity.CurrentTable.Rows) { if (dr["ActCode"].ToString() == Flowopinion.ApplicationCode) { if (dr["Status"].ToString() == "End") { Act tmpAct = workCase.GetAct(dr["ActCode"].ToString()); if (!(tmpAct.Copy == 1 && tmpAct.IsSleep == 0) || (tmpAct.ToTaskCode == TaskCode && tmpAct.FromUserCode == this.UserCode && tmpAct.Copy == 1) || tmpAct.ActUserCode == this.UserCode || this.IsScoutPopedom) { if (Flowopinion.OpinionText.Length > 0) { ModuleState moduleState = this.Toobar.GetModuleState(WorkFlowRule.GetTaskOpinionTypeByActCode(dr["ActCode"].ToString())); if (moduleState != ModuleState.Sightless && moduleState != ModuleState.Other) { //dr["Opinion"] = "<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');\">" + Flowopinion.OpinionText.Substring(0, 50) + "...</a>"; dr["Opinion"] = Flowopinion.OpinionText.Replace("\n", "<br>") + " <a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');return false;\">[详细]"; string tmpstr = DocumentRule.Instance().GetAttachListHtml("WorkFlowActOpinion", tmpAct.ActCode); if (tmpstr != "") { //dr["Opinion"] += " <img src=\"../Images/attach.gif\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" /></a><br>" + "附件:" + tmpstr; dr["Opinion"] += "</a><br>" + "附件:" + tmpstr; } else { dr["Opinion"] += "</a>"; } } } } } } } } if (Request["Debug"] + "" == "1") { string procedureCode = entity.GetString("ProcedureCode"); Procedure procedure = DefinitionManager.GetProcedureDifinition(procedureCode, true); /////////////////创建属性表/////////////////// DataTable PropertyTable = RmsPM.BLL.WorkFlowRule.GetPropertyTable(workCase, procedure); this.DataGrid1.DataSource = entity; this.DataGrid1.DataBind(); this.DataGrid2.DataSource = PropertyTable; this.DataGrid2.DataBind(); } DataView dv; if (!((User)Session["user"]).HasOperationRight("090102")) { dv = new DataView(entity.CurrentTable, String.Format(" ActUserCode='{0}' or (FromUserCode='{0}' and Copy='1') or (Copy = '1' and IsSleep='1') or Copy='0'", UserCode), "", DataViewRowState.CurrentRows); } else { dv = new DataView(entity.CurrentTable); } this.dgList.DataSource = dv; this.dgList.DataBind(); if (dv.Count == 0) { this.Visible = false; } else { this.Visible = true; if (this.ActCode != "" && !this.Scout) { //Act act = workCase.GetAct(this.ActCode); //string TaskCode = act.ToTaskCode; for (int i = 0; i < dgList.Items.Count; i++) { //dgList.Items[i].Cells[10].Text.Trim() == "ActCode" && if (dgList.Items[i].Cells[8].Text.Trim() == TaskCode && dgList.Items[i].Cells[9].Text.Trim() == this.UserCode && dgList.Items[i].Cells[10].Text.Trim() == "1") { Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim()); ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Checked = (tmpact.IsSleep == 1); ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = true; } else { ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = false; Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim()); if (tmpact.IsSleep == 1 && tmpact.Copy == 1) { dgList.Items[i].Cells[6].Text = " 公开"; } else if (tmpact.IsSleep == 0 && tmpact.Copy == 1) { dgList.Items[i].Cells[6].Text = " 未公开"; } } } } if (this.Scout) { for (int i = 0; i < dgList.Items.Count; i++) { ((CheckBox)dgList.Items[i].FindControl("chkopinionshow")).Visible = false; Act tmpact = workCase.GetAct(dgList.Items[i].Cells[7].Text.Trim()); if (tmpact.IsSleep == 1 && tmpact.Copy == 1) { dgList.Items[i].Cells[6].Text = " 公开"; } else if (tmpact.IsSleep == 0 && tmpact.Copy == 1) { dgList.Items[i].Cells[6].Text = " 未公开"; } } } } entity.Dispose(); }
public async Task <List <string> > SaveContract(ContractVM contractVM) { try { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); FinanYearRule finanYearRule = new FinanYearRule(); var finanYears = await finanYearRule.GetAllByOrganIdAsync(organId); var finanYear = finanYears.Where(x => x.Closed == false && x.OrganId == organId); contractVM.Contract_Sazes = contractVM.Contract_Sazes.Where(x => x.Saze != null).ToList(); foreach (var contract_Saze in contractVM.Contract_Sazes) { if (contract_Saze.Saze != null) { contract_Saze.SazeId = contract_Saze.Saze.ID; } if (contract_Saze.NoeEjare != null) { contract_Saze.NoeEjareId = contract_Saze.NoeEjare.ID; } if (contract_Saze.DisplayTarikhShorou != null) { contract_Saze.TarikhShorou = PersianDateUtils.ToDateTime(contract_Saze.DisplayTarikhShorou); if (contract_Saze.NoeEjareId == 1) { contract_Saze.TarikhPayan = contract_Saze.TarikhShorou.AddDays((double)contract_Saze.Quantity); } else if (contract_Saze.NoeEjareId == 2) { PersianCalendar pc = new PersianCalendar(); contract_Saze.TarikhPayan = pc.AddMonths(contract_Saze.TarikhShorou, (int)contract_Saze.Quantity); contract_Saze.DisplayTarikhPayan = PersianDateUtils.ToPersianDate(contract_Saze.TarikhPayan); } } } if (contractVM.Contact != null) { contractVM.ContactId = contractVM.Contact.ID; } DomainClasses.Contract.Contract contract = new DomainClasses.Contract.Contract(); Mapper.Map(contractVM, contract); contract.OrganId = organId; contract.DateTime = PersianDateUtils.ToDateTime(contract.DisplayDate); ContractValidate validator = new ContractValidate(); FluentValidation.Results.ValidationResult results = validator.Validate(contract); List <string> failurs = new List <string>();; if (!results.IsValid) { foreach (var error in results.Errors) { failurs.Add(error.ErrorMessage); } return(failurs); } // contract = savePaymentForContract(contract, contractVM); if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") && contractVM.ContractType == ContractType.RentFrom) { contract.Status = Status.ConfirmationContract; } else if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") && contractVM.ContractType == ContractType.PreContract) { contract.Status = Status.ConfirmationPreContract; contract.ContractType = ContractType.RentTo; // contract.Contract_Sazes = uow.Repository<Contract_Saze>().Queryable().Where(x => x.ContractID == contract.ID).ToList(); foreach (var contract_Saze in contract.Contract_Sazes ?? new List <Contract_Saze>()) { contract_Saze.Status = Status.ConfirmationPreContract; //contract_Saze.ObjectState = OMF.Common.Enums.ObjectState.Modified; } } else if (contractVM.ContractType == ContractType.PreContract && contractVM.Status == Status.SendPreContract) { //nothing } else { contract.Status = Status.Temporary; } if (contract.ID > 0) { foreach (var contractSaze in contract.Contract_Sazes) { contractSaze.TarikhShorou = PersianDateUtils.ToDateTime(contractSaze.DisplayTarikhShorou); contractSaze.ContractID = contract.ID; if (contractSaze.ID > 0) { contractSaze.ContractID = contract.ID; contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { contractSaze.ContractID = contract.ID; contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Added; } foreach (var contarct_Saze_Bazareab in contractSaze.Contarct_Saze_Bazareabs) { contractSaze.HasBazareab = true; if (contarct_Saze_Bazareab.ID > 0) { contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID; contarct_Saze_Bazareab.ObjectState = ObjectState.Modified; } else { contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID; contarct_Saze_Bazareab.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Tarah in contractSaze.Contract_Saze_Tarahs) { contractSaze.HasTarah = true; if (contract_Saze_Tarah.ID > 0) { contract_Saze_Tarah.ContarctSazeID = contractSaze.ID; contract_Saze_Tarah.ObjectState = ObjectState.Modified; } else { contract_Saze_Tarah.ContarctSazeID = contractSaze.ID; contract_Saze_Tarah.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Chapkhane in contractSaze.Contract_Saze_Chapkhanes) { contractSaze.HasChap = true; if (contract_Saze_Chapkhane.ID > 0) { contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID; contract_Saze_Chapkhane.ObjectState = ObjectState.Modified; } else { contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID; contract_Saze_Chapkhane.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Nasab in contractSaze.Contract_Saze_Nasabs) { contractSaze.HasNasab = true; if (contract_Saze_Nasab.ID > 0) { contract_Saze_Nasab.ContarctSazeID = contractSaze.ID; contract_Saze_Nasab.ObjectState = ObjectState.Modified; } else { contract_Saze_Nasab.ContarctSazeID = contractSaze.ID; contract_Saze_Nasab.ObjectState = ObjectState.Added; } } } foreach (var contract_PayRecevie in contract.Contract_PayRecevies) { if (contract_PayRecevie.ID > 0) { contract_PayRecevie.ContractId = contract.ID; contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { contract_PayRecevie.ContractId = contract.ID; contract_PayRecevie.IsReceive = true; contract_PayRecevie.OrganId = organId; contract_PayRecevie.Status = Status.Temporary; contract_PayRecevie.Type = PayRecevieType.Sir; contract_PayRecevie.Date = DateTime.Now; contract_PayRecevie.ContactId = contract.ID; contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Added; } foreach (var contract_DetailPayRecevie in contract_PayRecevie.Contract_DetailPayRecevies) { if (contract_DetailPayRecevie.ID > 0) { contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID; contract_DetailPayRecevie.ObjectState = ObjectState.Modified; } else { contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID; contract_DetailPayRecevie.ObjectState = ObjectState.Added; } } } contract.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { foreach (var contractSaze in contract.Contract_Sazes) { contractSaze.ContractID = contract.ID; contractSaze.TarikhShorou = PersianDateUtils.ToDateTime(contractSaze.DisplayTarikhShorou); if (contractSaze.ID > 0) { contractSaze.ContractID = contract.ID; contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { contractSaze.ContractID = contract.ID; contractSaze.ObjectState = OMF.Common.Enums.ObjectState.Added; } foreach (var contarct_Saze_Bazareab in contractSaze.Contarct_Saze_Bazareabs) { contractSaze.HasBazareab = true; if (contarct_Saze_Bazareab.NoeMozdBazryab == NoeMozd.Month) { contarct_Saze_Bazareab.Hazine = 0; } if (contarct_Saze_Bazareab.ID > 0) { contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID; contarct_Saze_Bazareab.ObjectState = ObjectState.Modified; } else { contarct_Saze_Bazareab.ContarctSazeID = contractSaze.ID; contarct_Saze_Bazareab.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Tarah in contractSaze.Contract_Saze_Tarahs) { contractSaze.HasTarah = true; if (contract_Saze_Tarah.NoeMozdTarah == NoeMozd.Month) { contract_Saze_Tarah.Hazine = 0; } if (contract_Saze_Tarah.ID > 0) { contract_Saze_Tarah.ContarctSazeID = contractSaze.ID; contract_Saze_Tarah.ObjectState = ObjectState.Modified; } else { contract_Saze_Tarah.ContarctSazeID = contractSaze.ID; contract_Saze_Tarah.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Chapkhane in contractSaze.Contract_Saze_Chapkhanes) { contractSaze.HasChap = true; if (contract_Saze_Chapkhane.ID > 0) { contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID; contract_Saze_Chapkhane.ObjectState = ObjectState.Modified; } else { contract_Saze_Chapkhane.ContarctSazeID = contractSaze.ID; contract_Saze_Chapkhane.ObjectState = ObjectState.Added; } } foreach (var contract_Saze_Nasab in contractSaze.Contract_Saze_Nasabs) { contractSaze.HasNasab = true; if (contract_Saze_Nasab.NoeMozdNasab == NoeMozd.Month) { contract_Saze_Nasab.Hazine = 0; } if (contract_Saze_Nasab.ID > 0) { contract_Saze_Nasab.ContarctSazeID = contractSaze.ID; contract_Saze_Nasab.ObjectState = ObjectState.Modified; } else { contract_Saze_Nasab.ContarctSazeID = contractSaze.ID; contract_Saze_Nasab.ObjectState = ObjectState.Added; } } } if (contract.Contract_PayRecevies != null && contract.Contract_PayRecevies.Count() > 0 && contract.Contract_PayRecevies[0].Contract_DetailPayRecevies != null && contract.Contract_PayRecevies[0].Contract_DetailPayRecevies.Count() > 0) { foreach (var contract_PayRecevie in contract.Contract_PayRecevies) { contract_PayRecevie.ContractId = contract.ID; contract_PayRecevie.Date = DateTime.Now; contract_PayRecevie.IsReceive = true; if (contract_PayRecevie.ID > 0) { contract_PayRecevie.ContractId = contract.ID; contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Modified; } else { contract_PayRecevie.ContractId = contract.ID; contract_PayRecevie.ObjectState = OMF.Common.Enums.ObjectState.Added; } foreach (var contract_DetailPayRecevie in contract_PayRecevie.Contract_DetailPayRecevies) { if (contract_DetailPayRecevie.ID > 0) { contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID; contract_DetailPayRecevie.ObjectState = ObjectState.Modified; } else { contract_DetailPayRecevie.Contract_PayRecevieId = contract_PayRecevie.ID; contract_DetailPayRecevie.ObjectState = ObjectState.Added; } } } } else { contract.Contract_PayRecevies = null; } contract.ObjectState = OMF.Common.Enums.ObjectState.Added; } this.UnitOfWork.RepositoryAsync <DomainClasses.Contract.Contract>().InsertOrUpdateGraph(contract); // ContactRule contactRule = new ContactRule(); // await contactRule.UpdateContact(invoice.InvoiceType, invoice.ContactId); await this.UnitOfWork.SaveChangesAsync(); if (contractVM.ID <= 0) { if ((SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") && contractVM.ContractType == ContractType.PreContract) || (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") && contractVM.Status == Status.ConfirmationContract)) { InvoiceRule invoiceRule = new InvoiceRule(); var invoice = invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentTo); var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId); DocumentRule documentRule = new DocumentRule(); await documentRule.InsertAsync(document, invoice.OrganId); await documentRule.SaveChangesAsync(); invoice.DocumentID = document.ID; invoiceRule.Update(invoice); await invoiceRule.SaveChangesAsync(); } else if (SecurityManager.CurrentUserContext.Roles.Any(x => x.RoleCode == "Manager") && contractVM.ContractType == ContractType.RentTo) { InvoiceRule invoiceRule = new InvoiceRule(); invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentFrom); } } return(failurs); } catch (Exception ex) { var p = ex; throw; } }
private void InitPage() { string AttachMentCode = Request.QueryString["AttachMentCode"] + ""; string Action = Request.QueryString["Action"] + ""; string AttachMent = Request.QueryString["AttachMent"] + ""; DocumentRule documentRule = DocumentRule.Instance(); if (Action.ToLower() == "view") { new ViewAttachment().OutputAttachment(Response, AttachMentCode, AttachMent, documentRule); } if (Action.ToLower() == "del") { try { documentRule.DeleteAttachment(AttachMentCode); } catch (Exception ex) { Rms.LogHelper.LogHelper.Error("删除附件时异常", ex); } Response.Write(JavaScript.ScriptStart); Response.Write("window.opener.AttachMentRefresh();"); Response.Write("window.close();"); Response.Write(JavaScript.ScriptEnd); } /* * EntityData entityAttachMent = DAL.EntityDAO.AttachmentDAO.GetAttachMentByCode(AttachMentCode); * if(Action=="View") * { * DataRow dr = entityAttachMent.CurrentRow; * * if (dr["Content"].ToString() == "" || dr["Content"] == null) * { * this.lblMessage.Text = "该附件无内容"; * return; * } * * if (dr["Content_Type"].ToString() == "" || dr["Content_Type"] == null) * { * this.lblMessage.Text = "未定义附件的显示方式"; * return; * } * * string filename = ""; * * if (dr["filename"] != null) * { * filename = dr["filename"].ToString(); * } * entityAttachMent.Dispose(); * Response.ContentType = dr["Content_Type"].ToString(); * switch (AttachMent) * { * case "0": * break; * case "1": * Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filename)); * break; * default: * //Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(filename)); * Response.AppendHeader("Content-Disposition", "filename=" + Server.UrlEncode(filename)); * break; * * } * Response.BinaryWrite((byte[]) dr["Content"]); * Response.End(); * }*/ }