public void Customer_Update_SingleRecord()
        {
            dataSetup.AddOrUpdateCustomer(dataSetup.getCustomer1());
            Customer         c         = null;
            IList <Customer> customers = new List <Customer>();

            using (CustomerRepository repo = new CustomerRepository())
            {
                customers       = (IList <Customer>)repo.findCustomerByPhoneNumber(dataSetup.getCustomer1());
                c               = customers[0];
                c.ContactNumber = "123-456-7890";
                repo.AddOrUpdate(c);
                repo.save();
            }


            using (CustomerRepository repo = new CustomerRepository())
            {
                Customer temp  = new Customer();
                Customer temp2 = new Customer();
                temp.ContactNumber = "123-456-7890";
                customers          = (IList <Customer>)repo.findCustomerByPhoneNumber(temp);
                temp2 = customers[0];
                Assert.AreEqual(customers.Count, 1);
                Assert.AreEqual(temp2.ContactNumber, "123-456-7890");
                repo.Delete(customers);
                repo.save();
            }
        }
        public async Task <Operate> DeleteById(int id)
        {
            var result = new Operate();

            try
            {
                using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    var buyerGroup = await _buyerGroupRepository.GetById(id);

                    if (buyerGroup == null)
                    {
                        result.Status  = -2;
                        result.Message = "Buyer Group does not exist";
                        return(result);
                    }
                    await _buyerGroupRepository.DeleteBuyerGroup(buyerGroup);

                    var customerList = await _customerRepository.GetByBuyerGroupId(buyerGroup.Id);

                    foreach (var customer in customerList)
                    {
                        customer.BuyerGroupId = 0;
                        await _customerRepository.AddOrUpdate(customer);
                    }
                    var groupProductList = await _buyerGroupRepository.GetGroupProductByBuyerGroupId(buyerGroup.Id);

                    foreach (var groupProduct in groupProductList)
                    {
                        groupProduct.ExpireTime = DateTime.UtcNow;
                        await _buyerGroupRepository.AddOrUpdateGroupProduct(groupProduct);
                    }
                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Status  = -1;
                result.Message = ex.Message;
                Logger.WriteErrorLog("BuyerGroupService", "DeleteById", ex);
            }
            return(result);
        }
示例#3
0
        public Customers AddorUpdate(Customers customer, CustomerDetails details)
        {
            HashSet <CustomerDetails> _details = new HashSet <CustomerDetails>();

            _details.Add(details);
            customer.CustomerDetails = _details;

            _customerRepository.AddOrUpdate(customer);
            _customerRepository.SaveChanges();

            return(_customerRepository.GetById(customer.CustomerId));
        }
示例#4
0
        private static void CreateCustomers(StoreContext context)
        {
            var customerRepository = new CustomerRepository(context);

            if (!customerRepository.IsEmpty())
            {
                return;
            }

            var securedSalt     = SecurityHelpers.GenerateSalt();
            var securedPassword = SecurityHelpers.HashPassword("qw12QW!@", securedSalt);

            customerRepository.AddOrUpdate(new CustomerModel {
                CellPhone        = "09360643405",
                SecuredSalt      = securedSalt,
                SecuredPassword  = securedPassword,
                FirstName        = "محمد صادق ",
                LastName         = "شاد",
                Email            = "*****@*****.**",
                LockedOutDateUtc = new DateTime(1990, 1, 1)
            });

            customerRepository.SaveChanges();
        }
示例#5
0
        /// <summary>
        /// Add or update a customer model
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userName"></param>
        /// <returns></returns>
        public async Task <ViewResult <CustomerModel> > AddOrUpdate(CustomerModel model, string userName)
        {
            var result = new ViewResult <CustomerModel>();

            try
            {
                using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    //check duplicated name
                    var dupCustomer = await _customerRepository.GetCustomerByCompName(model.CompanyName, model.Id);

                    if (dupCustomer != null)
                    {
                        result.Status  = -2;
                        result.Message = "Company name is already taken";
                        return(result);
                    }
                    var dupCustomerLoginId = await _customerRepository.GetCustomerByLoginId(model.LoginId, model.Id);

                    if (dupCustomerLoginId != null)
                    {
                        result.Status  = -2;
                        result.Message = "Login Id is already taken";
                        return(result);
                    }
                    var dupName = await _managerRepository.GetManagerByName(model.LoginId, 0);

                    if (dupName != null)
                    {
                        result.Status  = -2;
                        result.Message = "Login Id is already taken";
                        return(result);
                    }

                    Customer customer;
                    //new customer model
                    if (model.Id == 0)
                    {
                        customer            = model.ToCustomerModel();
                        customer.CreateTime = DateTime.UtcNow;
                        customer.CreateBy   = userName;
                    }
                    else
                    {
                        var customerModel = await _customerRepository.GetById(model.Id);

                        if (customerModel == null)
                        {
                            result.Status  = -3;
                            result.Message = "UOM does not exist";
                            return(result);
                        }

                        customer            = model.ToCustomerModel();
                        customer.CreateTime = customerModel.CreateTime;
                        customer.CreateBy   = customerModel.CreateBy;
                        customer.EditTime   = DateTime.UtcNow;
                        customer.EditBy     = userName;
                    }
                    await _customerRepository.AddOrUpdate(customer);

                    var customerResult = await _customerRepository.GetById(customer.Id);

                    result.Data = customerResult.ToCustomerModel();

                    scope.Complete();
                }
            }
            catch (Exception ex)
            {
                result.Status  = -1;
                result.Message = ex.Message;
                Logger.WriteErrorLog("CustomerService", "AddOrUpdate", ex);
            }
            return(result);
        }
        public void Customer_Update_SingleRecord()
        {
            dataSetup.AddOrUpdateCustomer(dataSetup.getCustomer1());
            Customer c = null;
            IList<Customer> customers = new List<Customer>();
            using (CustomerRepository repo = new CustomerRepository())
            {
                customers = (IList<Customer>)repo.findCustomerByPhoneNumber(dataSetup.getCustomer1());
                c = customers[0];
                c.ContactNumber = "123-456-7890";
                repo.AddOrUpdate(c);
                repo.save();
            }

            using (CustomerRepository repo = new CustomerRepository())
            {
                Customer temp = new Customer();
                Customer temp2 = new Customer();
                temp.ContactNumber = "123-456-7890";
                customers = (IList<Customer>)repo.findCustomerByPhoneNumber(temp);
                temp2 = customers[0];
                Assert.AreEqual(customers.Count, 1);
                Assert.AreEqual(temp2.ContactNumber, "123-456-7890");
                repo.Delete(customers);
                repo.save();
            }
        }