private int CreateNewAccount(Lms_CustomerPoco customerPoco) { int newAccountId = 0; _configurationLogic = new Lms_ConfigurationLogic(_cache, new EntityFrameworkGenericRepository <Lms_ConfigurationPoco>(_dbContext)); _chartOfAccountLogic = new Lms_ChartOfAccountLogic(_cache, new EntityFrameworkGenericRepository <Lms_ChartOfAccountPoco>(_dbContext)); var parentGLForCustomerAccount = _configurationLogic.GetSingleById(1).ParentGLForCustomerAccount; var accounts = _chartOfAccountLogic.GetList().Where(c => c.ParentGLCode == parentGLForCustomerAccount).ToList(); newAccountId = accounts.Max(c => c.Id) + 1; Lms_ChartOfAccountPoco accountPoco = new Lms_ChartOfAccountPoco(); accountPoco.Id = newAccountId; accountPoco.ParentGLCode = parentGLForCustomerAccount; accountPoco.AccountName = customerPoco.CustomerName; accountPoco.BranchId = sessionData.BranchId == null ? 1 : (int)sessionData.BranchId; accountPoco.CurrentBalance = 0; accountPoco.IsActive = true; accountPoco.Remarks = "Customer Account Receivable"; accountPoco.CreateDate = DateTime.Now; accountPoco.CreatedBy = sessionData.UserId; var newAcc = _chartOfAccountLogic.Add(accountPoco); if (newAcc != null) { return(newAccountId); } else { return(0); } }
public IActionResult Add([FromBody] dynamic employeeData) { ValidateSession(); var result = ""; try { if (employeeData != null) { Lms_EmployeePoco employeePoco = JsonConvert.DeserializeObject <Lms_EmployeePoco>(JsonConvert.SerializeObject(employeeData[0])); if (employeePoco.Id < 1 && employeePoco.FirstName.Trim() != string.Empty) { _configurationLogic = new Lms_ConfigurationLogic(_cache, new EntityFrameworkGenericRepository <Lms_ConfigurationPoco>(_dbContext)); _chartOfAccountLogic = new Lms_ChartOfAccountLogic(_cache, new EntityFrameworkGenericRepository <Lms_ChartOfAccountPoco>(_dbContext)); var parentGLForEmployeeAccount = _configurationLogic.GetSingleById(1).ParentGLForEmployeeAccount; var accounts = _chartOfAccountLogic.GetList().Where(c => c.ParentGLCode == parentGLForEmployeeAccount).ToList(); var newAccountId = accounts.Max(c => c.Id) + 1; var newEmployeeId = _employeeLogic.GetMaxId() + 1; using (var scope = new TransactionScope()) { Lms_ChartOfAccountPoco accountPoco = new Lms_ChartOfAccountPoco(); accountPoco.Id = newAccountId; accountPoco.ParentGLCode = parentGLForEmployeeAccount; accountPoco.AccountName = employeePoco.FirstName + employeePoco.LastName; accountPoco.BranchId = sessionData.BranchId == null ? 1 : (int)sessionData.BranchId; accountPoco.CurrentBalance = 0; accountPoco.IsActive = true; accountPoco.Remarks = "Employee Account Payable"; accountPoco.CreateDate = DateTime.Now; accountPoco.CreatedBy = sessionData.UserId; var addedAcc = _chartOfAccountLogic.Add(accountPoco); if (addedAcc.Id > 0) { employeePoco.Id = newEmployeeId; employeePoco.AccountId = addedAcc.Id; employeePoco.CreateDate = DateTime.Now; employeePoco.CreatedBy = sessionData.UserId; var employeeId = _employeeLogic.Add(employeePoco).Id; if (employeeId > 0) { scope.Complete(); result = employeeId.ToString(); } } } } } } catch (Exception ex) { } return(Json(result)); }
public IActionResult Add([FromBody] dynamic customerData) { ValidateSession(); var result = ""; try { if (customerData != null) { Lms_CustomerPoco customerPoco = JsonConvert.DeserializeObject <Lms_CustomerPoco>(JsonConvert.SerializeObject(customerData[0])); CustomerAddressMapping customerAddress = JsonConvert.DeserializeObject <CustomerAddressMapping>(JsonConvert.SerializeObject(customerData[1])); _configurationLogic = new Lms_ConfigurationLogic(_cache, new EntityFrameworkGenericRepository <Lms_ConfigurationPoco>(_dbContext)); _chartOfAccountLogic = new Lms_ChartOfAccountLogic(_cache, new EntityFrameworkGenericRepository <Lms_ChartOfAccountPoco>(_dbContext)); var parentGLForCustomerAccount = _configurationLogic.GetSingleById(1).ParentGLForCustomerAccount; var accounts = _chartOfAccountLogic.GetList().Where(c => c.ParentGLCode == parentGLForCustomerAccount).ToList(); var newAccountId = accounts.Max(c => c.Id) + 1; var newCustomerId = _customerLogic.GetMaxId() + 1; using (var scope = new TransactionScope()) { Lms_ChartOfAccountPoco accountPoco = new Lms_ChartOfAccountPoco(); accountPoco.Id = newAccountId; accountPoco.ParentGLCode = parentGLForCustomerAccount; accountPoco.AccountName = customerPoco.CustomerName; accountPoco.BranchId = sessionData.BranchId == null ? 1 : (int)sessionData.BranchId; accountPoco.CurrentBalance = 0; accountPoco.IsActive = true; accountPoco.Remarks = "Customer Account Receivable"; accountPoco.CreateDate = DateTime.Now; accountPoco.CreatedBy = sessionData.UserId; var addedAcc = _chartOfAccountLogic.Add(accountPoco); if (addedAcc.Id > 0) { customerPoco.Id = newCustomerId; customerPoco.AccountId = addedAcc.Id; customerPoco.CreateDate = DateTime.Now; customerPoco.CreatedBy = sessionData.UserId; var customerId = _customerLogic.Add(customerPoco).Id; result = customerId.ToString(); } if (customerAddress != null && !string.IsNullOrEmpty(customerAddress.AddressLine)) { customerAddress.CustomerId = newCustomerId; customerAddress.IsDefault = true; _addressLogic = new Lms_AddressLogic(_cache, new EntityFrameworkGenericRepository <Lms_AddressPoco>(_dbContext)); var addressList = _addressLogic.GetList(); _customerAddressMappingLogic = new Lms_CustomerAddressMappingLogic(_cache, new EntityFrameworkGenericRepository <Lms_CustomerAddressMappingPoco>(_dbContext)); var customerAddressList = _customerAddressMappingLogic.GetList().Where(c => c.CustomerId == customerAddress.CustomerId); int addressId = 0; var existingAddress = addressList.Where(c => c.UnitNumber == customerAddress.UnitNumber && c.AddressLine == customerAddress.AddressLine && c.CityId == customerAddress.CityId).FirstOrDefault(); if (existingAddress != null) { existingAddress.ProvinceId = customerAddress.ProvinceId; existingAddress.CountryId = customerAddress.CountryId; existingAddress.PostCode = customerAddress.PostCode; existingAddress.PrimaryPhoneNumber = customerAddress.PrimaryPhoneNumber; existingAddress.Fax = customerAddress.Fax; existingAddress.EmailAddress1 = customerAddress.EmailAddress1; existingAddress.EmailAddress2 = customerAddress.EmailAddress1; existingAddress.ContactPersonName = customerAddress.ContactPersonName; addressId = _addressLogic.Update(existingAddress).Id; } else { Lms_AddressPoco addressPoco = new Lms_AddressPoco(); addressPoco.UnitNumber = customerAddress.UnitNumber; addressPoco.AddressLine = customerAddress.AddressLine; addressPoco.CityId = customerAddress.CityId; addressPoco.ProvinceId = customerAddress.ProvinceId; addressPoco.CountryId = customerAddress.CountryId; addressPoco.PostCode = customerAddress.PostCode; addressPoco.PrimaryPhoneNumber = customerAddress.PrimaryPhoneNumber; addressPoco.Fax = customerAddress.Fax; addressPoco.EmailAddress1 = customerAddress.EmailAddress1; addressPoco.EmailAddress2 = customerAddress.EmailAddress1; addressPoco.ContactPersonName = customerAddress.ContactPersonName; addressId = _addressLogic.Add(addressPoco).Id; } if (customerAddress.AddressTypeId == 0) { Lms_CustomerAddressMappingPoco customerAddressMappingPoco = new Lms_CustomerAddressMappingPoco(); customerAddressMappingPoco.CustomerId = customerAddress.CustomerId; customerAddressMappingPoco.AddressId = addressId; customerAddressMappingPoco.AddressTypeId = (byte)Enum_AddressType.Billing; customerAddressMappingPoco.IsDefault = customerAddress.IsDefault; _customerAddressMappingLogic.Add(customerAddressMappingPoco); customerAddressMappingPoco = new Lms_CustomerAddressMappingPoco(); customerAddressMappingPoco.CustomerId = customerAddress.CustomerId; customerAddressMappingPoco.AddressId = addressId; customerAddressMappingPoco.AddressTypeId = (byte)Enum_AddressType.Shipping; customerAddressMappingPoco.IsDefault = customerAddress.IsDefault; _customerAddressMappingLogic.Add(customerAddressMappingPoco); } else { Lms_CustomerAddressMappingPoco customerAddressMappingPoco = new Lms_CustomerAddressMappingPoco(); customerAddressMappingPoco.CustomerId = customerAddress.CustomerId; customerAddressMappingPoco.AddressId = addressId; customerAddressMappingPoco.AddressTypeId = customerAddress.AddressTypeId; customerAddressMappingPoco.IsDefault = customerAddress.IsDefault; _customerAddressMappingLogic.Add(customerAddressMappingPoco); } } scope.Complete(); } } } catch (Exception ex) { } return(Json(result)); }