Example #1
0
        public async Task <ReturnResponse <CustomerMeta> > UpdateAsync(CustomerMeta customerMeta, string customerCode)
        {
            var customerFilter = await GetByCustomerCodeAsync(customerCode);

            if (customerFilter is null)
            {
                return(new ReturnResponse <CustomerMeta>
                {
                    Successful = false,
                    Error = $"Could find customer with CustomerCode={customerCode}"
                });
            }

            var query             = "Update Customers SET IndustryId=@IndustryId, CustomerName=@CustomerName, Address=@Address, ContactInfo=@ContactInfo,Note=@Note WHERE CustomerCode=@CustomerCode";
            var dynamicParameters = new DynamicParameters();

            dynamicParameters.Add("@IndustryId", customerMeta.IndustryId, DbType.Int32);
            dynamicParameters.Add("@CustomerCode", customerCode, DbType.String);
            dynamicParameters.Add("@CustomerName", customerMeta.CustomerName, DbType.String);
            dynamicParameters.Add("@Address", customerMeta.Address, DbType.String);
            dynamicParameters.Add("@ContactInfo", customerMeta.ContactInfo, DbType.String);
            dynamicParameters.Add("@Note", customerMeta.Note, DbType.String);
            var result = await this.UpdateAsync(query, dynamicParameters);

            var returnResponse = new ReturnResponse <CustomerMeta>();

            if (result > 0)
            {
                returnResponse.Item       = customerMeta;
                returnResponse.Successful = true;
            }
            return(returnResponse);
        }
Example #2
0
        public async Task <IActionResult> Update(string id, [FromBody] CustomerMeta customerMeta)
        {
            var result = await _customerService.Update(CurrentUser.TenantId, id, customerMeta);

            //var result = await _CustomerService.Update("1", id, CustomerMeta);
            if (result.Code < 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Example #3
0
        public async Task <IActionResult> Insert([FromBody] CustomerMeta customerMeta)
        {
            var result = await _customerService.Insert(CurrentUser.TenantId, customerMeta);

            //var result = await _CustomerService.Insert("1", CustomerMeta);
            if (result.Code < 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
        public async Task <IActionResult> UpdateCustomer([FromBody] CustomerMeta customerMeta, string customerCode)
        {
            var result = await _customerService.UpdateAsync(customerMeta, customerCode);

            return(Ok(result));
        }
 public static void MyClassInitialize(TestContext testContext)
 {
     metaObj = new CustomerMeta();
     metaColumn = metaObj.CompanyName;
 }
Example #6
0
 public async Task <ReturnResponse <CustomerMeta> > UpdateAsync(CustomerMeta customerMeta, string customerCode)
 {
     return(await _customerRepository.UpdateAsync(customerMeta, customerCode));
 }
Example #7
0
        public async Task <ActionResultResponse> Update(string tenantId, string id, CustomerMeta customerMeta)
        {
            var customer = await _customerRepository.GetInfo(id);

            if (customer == null)
            {
                return(new ActionResultResponse(-1, _customerResourceService.GetString("Customer does not exists.")));
            }

            if (customer.ConcurrencyStamp != customerMeta.ConcurrencyStamp)
            {
                return(new ActionResultResponse(-2,
                                                _customerResourceService.GetString("The Customer already updated by other people. You can not update this Customer.")));
            }

            if (customer.TenantId != tenantId)
            {
                return(new ActionResultResponse(-3,
                                                _sharedResourceService.GetString(ErrorMessage.NotHavePermission)));
            }

            var oldProvinceId = customer.ProvinceId;
            var oldDistrictId = customer.DistrictId;
            var oldNationalId = customer.NationalId;
            var oldReligionId = customer.ReligionId;
            var oldEthnicId   = customer.EthnicId;

            if (oldProvinceId != customerMeta.ProvinceId)
            {
                if (customerMeta.ProvinceId.HasValue)
                {
                    var provinceInfo = await GetProvinceInfo(customerMeta.ProvinceId.Value);

                    if (provinceInfo == null)
                    {
                        return(new ActionResultResponse(-4,
                                                        _sharedResourceService.GetString("Province does not exists. Please try again.")));
                    }

                    customer.ProvinceId   = provinceInfo.Id;
                    customer.ProvinceName = provinceInfo.Name;
                }
                else
                {
                    customer.ProvinceId   = null;
                    customer.ProvinceName = null;
                }
            }

            if (oldDistrictId != customerMeta.DistrictId)
            {
                if (customerMeta.DistrictId.HasValue)
                {
                    var districtInfo = await GetDistrictInfo(customerMeta.DistrictId.Value);

                    if (districtInfo == null)
                    {
                        return(new ActionResultResponse(-5,
                                                        _sharedResourceService.GetString("District does not exists. Please try again.")));
                    }

                    customer.DistrictId   = districtInfo.Id;
                    customer.DistrictName = districtInfo.Name;
                }
                else
                {
                    customer.DistrictId   = null;
                    customer.DistrictName = null;
                }
            }

            if (oldNationalId != customerMeta.NationalId)
            {
                if (customerMeta.NationalId.HasValue)
                {
                    var nationalInfo = await GetNationalInfo(customerMeta.NationalId.Value);

                    if (nationalInfo == null)
                    {
                        return(new ActionResultResponse(-6,
                                                        _sharedResourceService.GetString("Nation does not exists. Please try again.")));
                    }

                    customer.NationalId   = nationalInfo.Id;
                    customer.NationalName = nationalInfo.Name;
                }
                else
                {
                    customer.NationalId   = null;
                    customer.NationalName = null;
                }
            }

            if (oldReligionId != customerMeta.ReligionId)
            {
                if (customerMeta.ReligionId.HasValue)
                {
                    var religionInfo = await GetReligionInfo(customerMeta.ReligionId.Value);

                    if (religionInfo == null)
                    {
                        return(new ActionResultResponse(-7,
                                                        _sharedResourceService.GetString("Religion does not exists. Please try again.")));
                    }

                    customer.ReligionId   = religionInfo.Id;
                    customer.ReligionName = religionInfo.Name;
                }
                else
                {
                    customer.ReligionId   = null;
                    customer.ReligionName = null;
                }
            }
            if (oldEthnicId != customerMeta.EthnicId)
            {
                if (customerMeta.EthnicId.HasValue)
                {
                    var ethnicInfo = await GetEthnicInfo(customerMeta.EthnicId.Value);

                    if (ethnicInfo == null)
                    {
                        return(new ActionResultResponse(-8, _sharedResourceService.GetString("Ethnic does not exists.")));
                    }

                    customer.EthnicId   = ethnicInfo.Id;
                    customer.EthnicName = ethnicInfo.Name;
                }
                else
                {
                    customer.EthnicId   = null;
                    customer.EthnicName = null;
                }
            }

            customer.ConcurrencyStamp   = Guid.NewGuid().ToString();
            customer.FullName           = customerMeta.FullName;
            customer.UnsignName         = customerMeta.FullName.StripVietnameseChars().ToUpper();
            customer.Birthday           = customerMeta.Birthday;
            customer.Gender             = customerMeta.Gender;
            customer.CustomerResourceId = customerMeta.CustomerResourceId;
            customer.IdCardNumber       = customerMeta.IdCardNumber;
            customer.JobId   = customerMeta.JobId;
            customer.Address = customerMeta.Address;

            await _customerRepository.Update(customer);

            await UpdateContacts();
            await UpdateRelativesContacts();

            return(new ActionResultResponse(1, _customerResourceService.GetString("Update Customer successful.")));

            async Task UpdateContacts()
            {
                // Delete all existing contacts.
                await _customerContactRepository.DeleteByCustomerId(customer.Id);

                // Add new contacts.
                await AddCustomerContacts(customer.Id, customerMeta.CustomerContacts);
            }

            async Task UpdateRelativesContacts()
            {
                // Delete all relatives contacts.
                await _contactCustomerRepository.DeleteByCustomerId(customer.Id);

                // Add new relatives contacts.
                await AddRelativesContacts(customer.Id, customerMeta.CustomerRelativesContacts);
            }
        }
Example #8
0
        public async Task <ActionResultResponse> Insert(string tenantId, CustomerMeta customerMeta)
        {
            var customerId = Guid.NewGuid().ToString();

            Domain.Models.Customer customer = new Domain.Models.Customer
            {
                Id                 = customerId,
                TenantId           = tenantId,
                FullName           = customerMeta.FullName,
                UnsignName         = customerMeta.FullName.Trim().StripVietnameseChars().ToUpper(),
                Birthday           = customerMeta.Birthday,
                Gender             = customerMeta.Gender,
                CustomerResourceId = customerMeta.CustomerResourceId,
                IdCardNumber       = customerMeta.IdCardNumber,
                JobId              = customerMeta.JobId,
                NationalId         = customerMeta.NationalId,
                NationalName       = string.Empty,
                EthnicId           = customerMeta.EthnicId,
                EthnicName         = string.Empty,
                ReligionId         = customerMeta.ReligionId,
                ReligionName       = string.Empty,
                ProvinceId         = customerMeta.ProvinceId,
                DistrictId         = customerMeta.DistrictId,
                DistrictName       = string.Empty,
                Address            = customerMeta.Address
            };

            if (customerMeta.NationalId.HasValue)
            {
                var nationalInfo = await GetNationalInfo(customerMeta.NationalId.Value);

                if (nationalInfo == null)
                {
                    return(new ActionResultResponse(-1,
                                                    _sharedResourceService.GetString("National does not exists.")));
                }

                customer.NationalName = nationalInfo.Name;
            }
            if (customerMeta.ProvinceId.HasValue)
            {
                var provinceInfo = await GetProvinceInfo(customerMeta.ProvinceId.Value);

                if (provinceInfo == null)
                {
                    return(new ActionResultResponse(-2,
                                                    _sharedResourceService.GetString("Province does not exists. Please try again.")));
                }

                customer.ProvinceName = provinceInfo.Name;
            }
            if (customerMeta.DistrictId.HasValue)
            {
                var districtInfo = await GetDistrictInfo(customerMeta.DistrictId.Value);

                if (districtInfo == null)
                {
                    return(new ActionResultResponse(-3,
                                                    _sharedResourceService.GetString("Province does not exists. Please try again.")));
                }

                customer.DistrictName = districtInfo.Name;
            }
            if (customerMeta.EthnicId.HasValue)
            {
                var ethnicInfo = await GetEthnicInfo(customerMeta.EthnicId.Value);

                if (ethnicInfo == null)
                {
                    return(new ActionResultResponse(-4,
                                                    _sharedResourceService.GetString("District doest not exists. Please try again.")));
                }

                customer.EthnicName = ethnicInfo.Name;
            }
            if (customerMeta.ReligionId.HasValue)
            {
                var religionInfo = await GetReligionInfo(customerMeta.ReligionId.Value);

                if (religionInfo == null)
                {
                    return(new ActionResultResponse(-5,
                                                    _sharedResourceService.GetString("Religion doest not exists. Please try again.")));
                }

                customer.ReligionName = religionInfo.Name;
            }
            var resultInsert = await _customerRepository.Insert(customer);

            if (resultInsert <= 0)
            {
                return(new ActionResultResponse(resultInsert,
                                                _sharedResourceService.GetString("Something went wrong. Please contact with administrator.")));
            }

            var resutlAddContacts = await AddCustomerContacts(customerId, customerMeta.CustomerContacts);

            if (resutlAddContacts.Code < 0)
            {
                return(resutlAddContacts);
            }

            var resultAddRelativesContacts = await AddRelativesContacts(customerId, customerMeta.CustomerRelativesContacts);

            if (resultAddRelativesContacts.Code < 0)
            {
                return(resultAddRelativesContacts);
            }

            return(new ActionResultResponse(resultInsert, _customerResourceService.GetString("Add new Customer successful.")));
        }