public bool Insert(DomainClasses.Accounting.Account account) { try { _accounts.Add(account); return(true); } catch (Exception) { return(false); } }
public bool Delete(DomainClasses.Accounting.Account account) { try { _accounts.Attach(account); _accounts.Remove(account); return(true); } catch (Exception) { return(false); } }
public virtual async Task <HttpResponseMessage> GetAccountDetailAccounts([FromBody] DomainClasses.Accounting.Account item) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); //accounts = accounts.Where(x => x.Level != AccountType.Tafzeli).ToList(); accounts = accounts.Where(x => x.ParentId == item.ID).ToList(); var responseAccountDetailAccounts = new List <ResponseAccountDetailAccount>(); var responseAccountDetailAccount = new ResponseAccountDetailAccount(); foreach (var account in accounts) { var parentAccount = await accountRule.FindAsync(account.ParentId); responseAccountDetailAccount = new ResponseAccountDetailAccount(); responseAccountDetailAccount.Balance = 0; responseAccountDetailAccount.BalanceType = 0; responseAccountDetailAccount.Code = account.Coding; responseAccountDetailAccount.credit = 0; responseAccountDetailAccount.debit = 0; responseAccountDetailAccount.Id = account.ID; responseAccountDetailAccount.Name = account.Name.Replace("(گروه)", "").Replace("(کل)", "").Replace("(معین)", ""); responseAccountDetailAccount.Node = new Node() { Name = account.Name, Id = account.ID, }; responseAccountDetailAccounts.Add(responseAccountDetailAccount); } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ResultCode.Successful, data = responseAccountDetailAccounts })); }
public async Task CreateServiceAccountAsync(Item item, int personId) { AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(personId); var accountDaramdKhadamat = accounts.Where(x => x.ComplteCoding == "7101").SingleOrDefault(); var tempAccountDaramdKhadamat = accounts.Where(x => x.ComplteCoding == "7101" + item.Code).SingleOrDefault(); if (tempAccountDaramdKhadamat == null) { tempAccountDaramdKhadamat = new DomainClasses.Accounting.Account(); tempAccountDaramdKhadamat.Coding = item.Code; tempAccountDaramdKhadamat.ComplteCoding = "7101" + item.Code; tempAccountDaramdKhadamat.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountDaramdKhadamat.Name = item.Name; tempAccountDaramdKhadamat.OrganId = personId; tempAccountDaramdKhadamat.ParentId = accountDaramdKhadamat.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountDaramdKhadamat); await this.UnitOfWork.SaveChangesAsync(); } var accountSirHazeneh = accounts.Where(x => x.ComplteCoding == "8204").SingleOrDefault(); var tempAccountSirHazeneh = accounts.Where(x => x.ComplteCoding == "8204" + item.Code).SingleOrDefault(); if (tempAccountSirHazeneh == null) { tempAccountSirHazeneh = new DomainClasses.Accounting.Account(); tempAccountSirHazeneh.Coding = item.Code; tempAccountSirHazeneh.ComplteCoding = "8204" + item.Code; tempAccountSirHazeneh.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountSirHazeneh.Name = item.Name; tempAccountSirHazeneh.OrganId = personId; tempAccountSirHazeneh.ParentId = accountSirHazeneh.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountSirHazeneh); await this.UnitOfWork.SaveChangesAsync(); } }
public async Task <HttpResponseMessage> AddCostAccount(CostAccountVM costAccountVM) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountParent = accounts.Where(x => x.ComplteCoding == "8205").SingleOrDefault(); var account = new DomainClasses.Accounting.Account(); account.OrganId = organId; account.Coding = await CreateCostAccountCode(organId); account.ComplteCoding = "8205" + account.Coding; account.Level = ZhivarEnums.AccountType.Tafzeli; account.Name = costAccountVM.Name; account.ParentId = accountParent.ID; if (costAccountVM.ID.HasValue && costAccountVM.ID > 0) { account.ID = (int)costAccountVM.ID; accountRule.Update(account); } else { accountRule.Insert(account); } await accountRule.SaveChangesAsync(); costAccountVM.DetailAccount.Node = new Node() { Id = account.ID, Name = account.Name, }; return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = costAccountVM }));// RedirectToAction(MVC.cash.ActionNames.Index); }
public virtual async Task <HttpResponseMessage> Add(CashVM cashVM) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); var cash = new Cash(); Mapper.Map(cashVM, cash); cash.OrganId = organId; AccountRule accountRule = new AccountRule(); if (cashVM.ID > 0) { Rule.Update(cash); } else { Rule.Insert(cash); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountCash = accounts.Where(x => x.ComplteCoding == "1101").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountCash = new DomainClasses.Accounting.Account(); tempAccountCash.Coding = cash.Code; tempAccountCash.ComplteCoding = "1101" + cash.Code; tempAccountCash.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountCash.Name = cash.Name; tempAccountCash.OrganId = organId; tempAccountCash.ParentId = accountCash.ID; this.BusinessRule.UnitOfWork.Repository <DomainClasses.Accounting.Account>().Insert(tempAccountCash); //await accountRule.SaveChangesAsync(); } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = ZhivarEnums.ResultCode.Successful, data = cash }));// RedirectToAction(MVC.cash.ActionNames.Index); }
public bool Update(DomainClasses.Accounting.Account account) { try { var local = _uow.Set <DomainClasses.Accounting.Account>() .Local .FirstOrDefault(f => f.ID == account.ID); if (local != null) { _uow.Entry(local).State = EntityState.Detached; } _accounts.Attach(account); _uow.Entry(account).State = EntityState.Modified; return(true); } catch (Exception ex) { return(false); } }
public async Task <HttpResponseMessage> AddContact([FromBody] ContactVM contactVM) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); if (string.IsNullOrEmpty(contactVM.Name)) { throw new OMFValidationException("نام شخص را وارد نمایید."); } var contact = new Contact(); if (contactVM.TasvirBlobBase64 != null) { if (!string.IsNullOrWhiteSpace(contactVM.TasvirBlobBase64) && !string.IsNullOrEmpty(contactVM.TasvirBlobBase64)) { contactVM.TasvirBlobBase64 = contactVM.TasvirBlobBase64.Replace("data:image/jpeg;base64,", ""); contactVM.Blob = Convert.FromBase64String(contactVM.TasvirBlobBase64); } } contact = Utilities.TranslateHelper.TranslateContactVMToContact(contactVM); contact.RegistrationDate = DateTime.Now; contact.OrganId = organId; //ContactRule contactRule = new ContactRule(); if (contact.ID > 0) { Rule.Update(contact); } else { Rule.Insert(contact); var organColor = Rule.UnitOfWork.RepositoryAsync <Organ_Color>().Queryable().Where(x => x.OrganID == organId).SingleOrDefault(); if (organColor == null) { Rule.UnitOfWork.RepositoryAsync <Organ_Color>().Insert(new Organ_Color() { LastColorIDUsed = contactVM.ColorID, OrganID = organId, }); // await Rule.UnitOfWork.SaveChangesAsync(); } else { organColor.LastColorIDUsed = contactVM.ColorID; Rule.UnitOfWork.RepositoryAsync <Organ_Color>().Update(organColor); // await Rule.UnitOfWork.SaveChangesAsync(); } AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountDreaftani = accounts.Where(x => x.ComplteCoding == "1104").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountDreaftani = new DomainClasses.Accounting.Account(); tempAccountDreaftani.Coding = contact.Code; tempAccountDreaftani.ComplteCoding = "1104" + contact.Code; tempAccountDreaftani.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountDreaftani.Name = contact.Name; tempAccountDreaftani.OrganId = organId; tempAccountDreaftani.ParentId = accountDreaftani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountDreaftani); var accountPardakhtani = accounts.Where(x => x.ComplteCoding == "2101").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountPardakhtani = new DomainClasses.Accounting.Account(); tempAccountPardakhtani.Coding = contact.Code; tempAccountPardakhtani.ComplteCoding = "2101" + contact.Code; tempAccountPardakhtani.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountPardakhtani.Name = contact.Name; tempAccountPardakhtani.OrganId = organId; tempAccountPardakhtani.ParentId = accountPardakhtani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountPardakhtani); var accountAsnadDareaftani = accounts.Where(x => x.ComplteCoding == "1105").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountAsnadDareaftani = new DomainClasses.Accounting.Account(); tempAccountAsnadDareaftani.Coding = contact.Code; tempAccountAsnadDareaftani.ComplteCoding = "1105" + contact.Code; tempAccountAsnadDareaftani.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountAsnadDareaftani.Name = contact.Name; tempAccountAsnadDareaftani.OrganId = organId; tempAccountAsnadDareaftani.ParentId = accountAsnadDareaftani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountAsnadDareaftani); } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); contactVM.ID = contact.ID; contactVM.RegistrationDate = DateTime.Now; AccountRule accountRule2 = new AccountRule(); var accounts2 = await accountRule2.GetAllByOrganIdAsync(organId); var detailAccount = accounts2.Where(x => x.ComplteCoding == "1104" + contact.Code).SingleOrDefault(); switch (contactVM.TypeAccount) { case "payables": case "inProgress": { detailAccount = accounts2.Where(x => x.ComplteCoding == "2102" + contact.Code).SingleOrDefault(); if (detailAccount == null) { DomainClasses.Accounting.Account account = new DomainClasses.Accounting.Account() { Coding = contact.Code, Level = ZhivarEnums.AccountType.Moen, ObjectState = OMF.Common.Enums.ObjectState.Added, Name = contact.Name, ComplteCoding = "2102" + contact.Code, OrganId = organId, ParentId = 1525 }; accountRule2.Insert(account); await accountRule2.SaveChangesAsync(); accounts2 = await accountRule2.GetAllByOrganIdAsync(organId); detailAccount = accounts2.Where(x => x.ComplteCoding == "2102" + contact.Code).SingleOrDefault(); break; } break; } case "receivables": { detailAccount = accounts2.Where(x => x.ComplteCoding == "1105" + contact.Code).SingleOrDefault(); break; } case "creditors": { detailAccount = accounts2.Where(x => x.ComplteCoding == "2101" + contact.Code).SingleOrDefault(); break; } } contactVM.DetailAccount = new DetailAccount() { Id = detailAccount.ID, Code = detailAccount.Coding, Name = detailAccount.Name, Node = new Node() { FamilyTree = "اشخاص", Id = Convert.ToInt32(contact.Code), Name = "اشخاص", } }; return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = contactVM })); }
public async Task <HttpResponseMessage> GetAllByOrganId([FromBody] string type) { try { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); var list = await Rule.GetAllByOrganIdAsync(Convert.ToInt32(organId)); // var list2 = list.Select(x => new { ID = x.ID, Title = x.Name, Code = x.Code }).ToList(); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); List <ContactVM> contactVMs = new List <ContactVM>(); var contactVM = new ContactVM(); var detailAccount = new DomainClasses.Accounting.Account(); foreach (var item in list) { switch (type) { case "debtors": { detailAccount = accounts.Where(x => x.ComplteCoding == "1104" + item.Code).SingleOrDefault(); break; } case "payables": case "inProgress": { detailAccount = accounts.Where(x => x.ComplteCoding == "2102" + item.Code).SingleOrDefault(); if (detailAccount == null) { DomainClasses.Accounting.Account account = new DomainClasses.Accounting.Account() { Coding = item.Code, Level = ZhivarEnums.AccountType.Moen, ObjectState = OMF.Common.Enums.ObjectState.Added, Name = item.Name, ComplteCoding = "2102" + item.Code, OrganId = organId, ParentId = 1525 }; accountRule.Insert(account); await accountRule.SaveChangesAsync(); accounts = await accountRule.GetAllByOrganIdAsync(organId); detailAccount = accounts.Where(x => x.ComplteCoding == "2102" + item.Code).SingleOrDefault(); } break; } case "receivables": { detailAccount = accounts.Where(x => x.ComplteCoding == "1105" + item.Code).SingleOrDefault(); break; } case "creditors": { detailAccount = accounts.Where(x => x.ComplteCoding == "2101" + item.Code).SingleOrDefault(); break; } default: { detailAccount = accounts.Where(x => x.ComplteCoding == "1104" + item.Code).SingleOrDefault(); break; } // break; } contactVM = new ContactVM(); contactVM.Code = item.Code; if (detailAccount != null) { contactVM.DetailAccount = new DetailAccount() { Id = detailAccount.ID, Code = detailAccount.Coding, Name = detailAccount.Name, Node = new Node() { FamilyTree = "اشخاص", Id = Convert.ToInt32(item.Code), Name = "اشخاص", } }; } contactVM.Address = item.Address; contactVM.City = item.City; contactVM.Credits = item.Credits; contactVM.EconomicCode = item.EconomicCode; contactVM.Email = item.Email; contactVM.Fax = item.Fax; contactVM.ID = item.ID; contactVM.IsCustomer = item.IsCustomer; contactVM.IsEmployee = item.IsEmployee; contactVM.IsShareHolder = item.IsShareHolder; contactVM.IsVendor = item.IsVendor; contactVM.Liability = item.Liability; contactVM.Mobile = item.Mobile; contactVM.Name = item.Name; contactVM.NationalCode = item.NationalCode; contactVM.Note = item.Note; contactVM.OrganId = item.OrganId; contactVM.Phone = item.Phone; contactVM.PostalCode = item.PostalCode; contactVM.Rating = item.Rating; contactVM.RegistrationDate = item.RegistrationDate; contactVM.RegistrationNumber = item.RegistrationNumber; contactVM.SharePercent = Convert.ToDecimal(item.SharePercent); contactVM.State = item.State; contactVM.Website = item.Website; contactVM.FirstName = item.FirstName; contactVM.LastName = item.LastName; contactVMs.Add(contactVM); } return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = contactVMs })); } catch (Exception ex) { throw; } }
private async Task <List <Transaction> > RegisterTransactionPay(Document document, PayRecevie payRecevie, int organId) { List <Transaction> transactions = new List <Transaction>(); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); foreach (var item in payRecevie.Items) { switch (payRecevie.Type) { case ZhivarEnums.PayRecevieType.AzShakhs: { var accountDareaftani = accounts.Where(x => x.ComplteCoding == "2101" + payRecevie.Contact.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, Account = accountDareaftani, AccountId = accountDareaftani.ID, Amount = item.Amount, //Contact = payRecevieVM.ContactVM, ContactId = payRecevie.Contact.ID, Credit = 0, Debit = item.Amount, IsCredit = false, IsDebit = true, DocumentId = document.ID, Description = document.Description, Date = PersianDateUtils.ToDateTime(payRecevie.DisplayDate), DisplayDate = payRecevie.DisplayDate, }); break; } case ZhivarEnums.PayRecevieType.Hazine: case ZhivarEnums.PayRecevieType.Sir: { var accountDaramd = accounts.Where(x => x.ComplteCoding == payRecevie.Account.ComplteCoding).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, Account = accountDaramd, AccountId = accountDaramd.ID, Amount = item.Amount, //Contact = payRecevieVM.ContactVM, //ContactId = payRecevieVM.ContactVM.ID, Credit = 0, Debit = item.Amount, IsCredit = false, IsDebit = true, DocumentId = document.ID, Description = document.Description, Date = PersianDateUtils.ToDateTime(payRecevie.DisplayDate), DisplayDate = payRecevie.DisplayDate }); break; } } if (item.Bank != null) { var bankAccount = accounts.Where(x => x.ComplteCoding == "1103" + item.Bank.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, Account = bankAccount, AccountId = bankAccount.ID, Amount = item.Amount, Credit = item.Amount, Debit = 0, DocumentId = document.ID, IsCredit = true, IsDebit = false, Date = PersianDateUtils.ToDateTime(payRecevie.DisplayDate), DisplayDate = payRecevie.DisplayDate, Description = document.Description, }); } if (item.Cash != null) { var cashAccount = accounts.Where(x => x.ComplteCoding == "1101" + item.Cash.Code).SingleOrDefault(); transactions.Add(new Transaction() { //AccDocument = document, Account = cashAccount, AccountId = cashAccount.ID, Amount = item.Amount, Credit = item.Amount, Debit = 0, Description = document.Description, DocumentId = document.ID, IsCredit = true, IsDebit = false, Date = PersianDateUtils.ToDateTime(payRecevie.DisplayDate), DisplayDate = payRecevie.DisplayDate }); } if (item.Cheque != null) { var asnadDreaftaniAccount = new DomainClasses.Accounting.Account(); switch (payRecevie.Type) { case ZhivarEnums.PayRecevieType.AzShakhs: { asnadDreaftaniAccount = accounts.Where(x => x.ComplteCoding == "1105" + payRecevie.Contact.Code).SingleOrDefault(); } break; case ZhivarEnums.PayRecevieType.Daramd: case ZhivarEnums.PayRecevieType.Hazine: case ZhivarEnums.PayRecevieType.Sir: { asnadDreaftaniAccount = accounts.Where(x => x.ComplteCoding == "1105" + item.Cheque.Contact.Code).SingleOrDefault(); } break; default: break; } transactions.Add(new Transaction() { //AccDocument = document, Account = asnadDreaftaniAccount, AccountId = asnadDreaftaniAccount.ID, Amount = item.Amount, Credit = item.Amount, Debit = 0, Description = document.Description, DocumentId = document.ID, IsCredit = true, IsDebit = false, Date = PersianDateUtils.ToDateTime(payRecevie.DisplayDate), DisplayDate = payRecevie.DisplayDate }); } } return(transactions); }
public async Task CreateGoodAccountsAsync(Item item, int personId) { AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(personId); var accountMojodiKala = accounts.Where(x => x.ComplteCoding == "1108").SingleOrDefault(); var tempAccountMojodiKala = accounts.Where(x => x.ComplteCoding == "1108" + item.Code).SingleOrDefault(); if (tempAccountMojodiKala == null) { tempAccountMojodiKala = new DomainClasses.Accounting.Account(); tempAccountMojodiKala.Coding = item.Code; tempAccountMojodiKala.ComplteCoding = "1108" + item.Code; tempAccountMojodiKala.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountMojodiKala.Name = item.Name; tempAccountMojodiKala.OrganId = personId; tempAccountMojodiKala.ParentId = accountMojodiKala.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountMojodiKala); await this.UnitOfWork.SaveChangesAsync(); } var accountKharidKala = accounts.Where(x => x.ComplteCoding == "5101").SingleOrDefault(); var tempAccountKharidKala = accounts.Where(x => x.ComplteCoding == "5101" + item.Code).SingleOrDefault(); if (tempAccountKharidKala == null) { tempAccountKharidKala = new DomainClasses.Accounting.Account(); tempAccountKharidKala.Coding = item.Code; tempAccountKharidKala.ComplteCoding = "5101" + item.Code; tempAccountKharidKala.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountKharidKala.Name = item.Name; tempAccountKharidKala.OrganId = personId; tempAccountKharidKala.ParentId = accountKharidKala.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountKharidKala); await this.UnitOfWork.SaveChangesAsync(); } var accountBargashtKharidKala = accounts.Where(x => x.ComplteCoding == "5102").SingleOrDefault(); var tempAccountBargashtKharidKala = accounts.Where(x => x.ComplteCoding == "5102" + item.Code).SingleOrDefault(); if (tempAccountBargashtKharidKala == null) { tempAccountBargashtKharidKala = new DomainClasses.Accounting.Account(); tempAccountBargashtKharidKala.Coding = item.Code; tempAccountBargashtKharidKala.ComplteCoding = "5102" + item.Code; tempAccountBargashtKharidKala.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountBargashtKharidKala.Name = item.Name; tempAccountBargashtKharidKala.OrganId = personId; tempAccountBargashtKharidKala.ParentId = accountBargashtKharidKala.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountBargashtKharidKala); await this.UnitOfWork.SaveChangesAsync(); } var accountForoshKala = accounts.Where(x => x.ComplteCoding == "6101").SingleOrDefault(); var tempAccountAccountForoshKala = accounts.Where(x => x.ComplteCoding == "6101" + item.Code).SingleOrDefault(); if (tempAccountAccountForoshKala == null) { tempAccountAccountForoshKala = new DomainClasses.Accounting.Account(); tempAccountAccountForoshKala.Coding = item.Code; tempAccountAccountForoshKala.ComplteCoding = "6101" + item.Code; tempAccountAccountForoshKala.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountAccountForoshKala.Name = item.Name; tempAccountAccountForoshKala.OrganId = personId; tempAccountAccountForoshKala.ParentId = accountForoshKala.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountAccountForoshKala); await this.UnitOfWork.SaveChangesAsync(); } var accountBargashtForoshKala = accounts.Where(x => x.ComplteCoding == "6102").SingleOrDefault(); var tempAccountBargashtForoshKala = accounts.Where(x => x.ComplteCoding == "6102" + item.Code).SingleOrDefault(); if (tempAccountBargashtForoshKala == null) { tempAccountBargashtForoshKala = new DomainClasses.Accounting.Account(); tempAccountBargashtForoshKala.Coding = item.Code; tempAccountBargashtForoshKala.ComplteCoding = "6102" + item.Code; tempAccountBargashtForoshKala.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountBargashtForoshKala.Name = item.Name; tempAccountBargashtForoshKala.OrganId = personId; tempAccountBargashtForoshKala.ParentId = accountBargashtForoshKala.ID; this.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountBargashtForoshKala); await this.UnitOfWork.SaveChangesAsync(); } }
public virtual async Task <HttpResponseMessage> AddContact([FromBody] ContactVM contactVM) { var userId = SecurityManager.CurrentUserContext.UserId; PersonRule personRule = new PersonRule(); var person = personRule.GetPersonByUserId(Convert.ToInt32(userId)); if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)Enums.ResultCode.Exception, data = contactVM })); } var contact = new Contact(); contact = Utilities.TranslateHelper.TranslateContactVMToContact(contactVM); contact.RegistrationDate = DateTime.Now; contact.OrganId = person.ID; //ContactRule contactRule = new ContactRule(); if (contact.ID > 0) { Rule.Update(contact); } else { Rule.Insert(contact); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(person.ID); var accountDreaftani = accounts.Where(x => x.ComplteCoding == "1104").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountDreaftani = new DomainClasses.Accounting.Account(); tempAccountDreaftani.Coding = contact.Code; tempAccountDreaftani.ComplteCoding = "1104" + contact.Code; tempAccountDreaftani.Level = Enums.AccountType.Tafzeli; tempAccountDreaftani.Name = contact.Name; tempAccountDreaftani.OrganId = person.ID; tempAccountDreaftani.ParentId = accountDreaftani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountDreaftani); var accountPardakhtani = accounts.Where(x => x.ComplteCoding == "2101").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountPardakhtani = new DomainClasses.Accounting.Account(); tempAccountPardakhtani.Coding = contact.Code; tempAccountPardakhtani.ComplteCoding = "2101" + contact.Code; tempAccountPardakhtani.Level = Enums.AccountType.Tafzeli; tempAccountPardakhtani.Name = contact.Name; tempAccountPardakhtani.OrganId = person.ID; tempAccountPardakhtani.ParentId = accountPardakhtani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountPardakhtani); var accountAsnadDareaftani = accounts.Where(x => x.ComplteCoding == "1105").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountAsnadDareaftani = new DomainClasses.Accounting.Account(); tempAccountAsnadDareaftani.Coding = contact.Code; tempAccountAsnadDareaftani.ComplteCoding = "1105" + contact.Code; tempAccountAsnadDareaftani.Level = Enums.AccountType.Tafzeli; tempAccountAsnadDareaftani.Name = contact.Name; tempAccountAsnadDareaftani.OrganId = person.ID; tempAccountAsnadDareaftani.ParentId = accountAsnadDareaftani.ID; this.BusinessRule.UnitOfWork.RepositoryAsync <DomainClasses.Accounting.Account>().Insert(tempAccountAsnadDareaftani); } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); contactVM.ID = contact.ID; contactVM.RegistrationDate = DateTime.Now; return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)Enums.ResultCode.Successful, data = contactVM })); }
private async Task CreateShareHolderAccounts(int organId, int contactId) { ContactRule contactRule = new ContactRule(); var contact = await contactRule.FindAsync(contactId); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountShareholder = accounts.Where(x => x.ComplteCoding == "3101").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder = accounts.Where(x => x.ComplteCoding == "3101" + contact.Code).SingleOrDefault(); if (tempAccountShareholder == null) { tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = contact.Code; tempAccountShareholder.ComplteCoding = "3101" + contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; accountRule.Insert(tempAccountShareholder); } accountShareholder = accounts.Where(x => x.ComplteCoding == "3102").SingleOrDefault(); tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder = accounts.Where(x => x.ComplteCoding == "3102" + contact.Code).SingleOrDefault(); if (tempAccountShareholder == null) { tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = contact.Code; tempAccountShareholder.ComplteCoding = "3102" + contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; accountRule.Insert(tempAccountShareholder); } accountShareholder = accounts.Where(x => x.ComplteCoding == "3103").SingleOrDefault(); tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder = accounts.Where(x => x.ComplteCoding == "3103" + contact.Code).SingleOrDefault(); if (tempAccountShareholder == null) { tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = contact.Code; tempAccountShareholder.ComplteCoding = "3103" + contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; accountRule.Insert(tempAccountShareholder); } accountShareholder = accounts.Where(x => x.ComplteCoding == "3104").SingleOrDefault(); tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder = accounts.Where(x => x.ComplteCoding == "3104" + contact.Code).SingleOrDefault(); if (tempAccountShareholder == null) { tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = contact.Code; tempAccountShareholder.ComplteCoding = "3104" + contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; accountRule.Insert(tempAccountShareholder); } accountShareholder = accounts.Where(x => x.ComplteCoding == "3105").SingleOrDefault(); tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder = accounts.Where(x => x.ComplteCoding == "3105" + contact.Code).SingleOrDefault(); if (tempAccountShareholder == null) { tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = contact.Code; tempAccountShareholder.ComplteCoding = "3105" + contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; accountRule.Insert(tempAccountShareholder); } }
public virtual async Task <HttpResponseMessage> Add(ShareholderVM shareholderVM) { var organId = Convert.ToInt32(SecurityManager.CurrentUserContext.OrganizationId); if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.ValidationError, data = "" })); } var shareholder = new Shareholder(); Mapper.Map(shareholderVM, shareholder); shareholder.OrganId = organId; //ShareholderRule shareholderRule = new ShareholderRule(); if (shareholderVM.ID.HasValue) { Rule.Update(shareholder); } else { Rule.Insert(shareholder); AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); var accountShareholder = accounts.Where(x => x.ComplteCoding == "1103").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountShareholder = new DomainClasses.Accounting.Account(); tempAccountShareholder.Coding = shareholder.Contact.Code; tempAccountShareholder.ComplteCoding = "1103" + shareholder.Contact.Code; tempAccountShareholder.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountShareholder.Name = shareholder.Contact.Name; tempAccountShareholder.OrganId = organId; tempAccountShareholder.ParentId = accountShareholder.ID; this.BusinessRule.UnitOfWork.Repository <DomainClasses.Accounting.Account>().Insert(tempAccountShareholder); //accountRule.Insert(tempAccountShareholder); var accountAsnadPardakhtani = accounts.Where(x => x.ComplteCoding == "2102").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountAsnadPardakhtani = new DomainClasses.Accounting.Account(); tempAccountAsnadPardakhtani.Coding = shareholder.Contact.Code; tempAccountAsnadPardakhtani.ComplteCoding = "2102" + shareholder.Contact.Code; tempAccountAsnadPardakhtani.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountAsnadPardakhtani.Name = shareholder.Contact.Name; tempAccountAsnadPardakhtani.OrganId = organId; tempAccountAsnadPardakhtani.ParentId = accountAsnadPardakhtani.ID; this.BusinessRule.UnitOfWork.Repository <DomainClasses.Accounting.Account>().Insert(tempAccountAsnadPardakhtani); //accountRule.Insert(tempAccountAsnadPardakhtani); var accountChequeDarJareanVosol = accounts.Where(x => x.ComplteCoding == "1106").SingleOrDefault(); DomainClasses.Accounting.Account tempAccountChequeDarJareanVosol = new DomainClasses.Accounting.Account(); tempAccountChequeDarJareanVosol.Coding = shareholder.Contact.Code; tempAccountChequeDarJareanVosol.ComplteCoding = "1106" + shareholder.Contact.Code; tempAccountChequeDarJareanVosol.Level = ZhivarEnums.AccountType.Tafzeli; tempAccountChequeDarJareanVosol.Name = shareholder.Contact.Name; tempAccountChequeDarJareanVosol.OrganId = organId; tempAccountChequeDarJareanVosol.ParentId = accountChequeDarJareanVosol.ID; //accountRule.Insert(tempAccountChequeDarJareanVosol); this.BusinessRule.UnitOfWork.Repository <DomainClasses.Accounting.Account>().Insert(tempAccountChequeDarJareanVosol); } await this.BusinessRule.UnitOfWork.SaveChangesAsync(); return(Request.CreateResponse(HttpStatusCode.OK, new { resultCode = (int)ZhivarEnums.ResultCode.Successful, data = shareholder })); }
public async Task <List <Transaction> > RegisterTransaction(Document document, CostVM cost, int organId) { AccountRule accountRule = new AccountRule(); var accounts = await accountRule.GetAllByOrganIdAsync(organId); string contactCode = "2101" + cost.Contact.Code; var accountHesabPardakhtani = accounts.Where(x => x.ComplteCoding == contactCode).SingleOrDefault(); List <Transaction> transactions = new List <Transaction>(); transactions.Add(new Transaction() { AccountId = accountHesabPardakhtani.ID, ContactId = cost.Contact.ID, DocumentId = document.ID, CostId = cost.ID, //AccDocument = document, Account = accountHesabPardakhtani, Amount = cost.Sum, //Contact = cost.Contact, //Cost = cost, IsDebit = false, IsCredit = true, Debit = 0, Credit = cost.Sum, Description = document.Description, RowNumber = 1, DisplayDate = document.DisplayDate, Date = PersianDateUtils.ToDateTime(document.DisplayDate), }); foreach (var item in cost.CostItems) { var accoubtItem = new DomainClasses.Accounting.Account(); accoubtItem = accounts.Where(x => x.ComplteCoding == "8205").SingleOrDefault(); transactions.Add(new Transaction() { AccountId = accoubtItem.ID, ContactId = cost.Contact.ID, DocumentId = document.ID, CostId = cost.ID, //AccDocument = document, Account = accoubtItem, Amount = item.Sum, //Contact = cost.Contact, //Cost = cost, IsDebit = true, IsCredit = false, Debit = item.Sum, Credit = 0, Description = item.Description, //RowNumber = 1, DisplayDate = document.DisplayDate, Date = Utilities.PersianDateUtils.ToDateTime(document.DisplayDate), }); } return(transactions); }