public Task <DataResult <DTOCar> > CreateAsync(DTOCar carDTO)
        {
            return(Task.Run(() =>
            {
                var createdCarDTO = new DTOCar();
                var passingCarOwnerId = carDTO.CurrentCarOwnerId;

                if (carRepository.ExistByCondition(x => x.LicensePlates == carDTO.LicensePlates && !string.IsNullOrEmpty(x.LicensePlates)))
                {
                    return new DataResult <DTOCar> {
                        Errors = new List <ErrorDescriber> {
                            new ErrorDescriber("Existed Car License Plates")
                        }, Target = carDTO
                    }
                }
                ;

                var carEntity = _mapper.Map <Car>(carDTO);
                carEntity.CreatedDate = DateTime.Now;

                string garageShortName = garageInfoRepository.GetFirstOrDefault()?.ShortName;
                var identityNumber = carRepository.Identity(x => x.GenerateId) != null ? carRepository.Identity(x => x.GenerateId).GenerateId : 0;

                carEntity.Id = garageShortName + IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Car.ToDefaultValue() }, NumberUnitType.Large);

                var createdCarEntity = carRepository.Insert(carEntity);
                _unitOfWork.SaveChanges();

                createdCarDTO = _mapper.Map <DTOCar>(createdCarEntity);

                return new DataResult <DTOCar> {
                    Errors = new List <ErrorDescriber>(), Target = createdCarDTO
                };
            }));
        }
        public Task <DataResult <DTOCustomer> > CreateAsync(DTOCustomer customerDTO, bool isCreateGenerateId = false)
        {
            return(Task.Run(() => {
                var createdCustomerDTO = new DTOCustomer();

                //if (customerRepository.ExistByCondition(x => x.Name == customerDTO.Name))
                //    return new DataResult<DTOCustomer> { Errors = new List<ErrorDescriber> { new ErrorDescriber("Existed Customer Name") }, Target = customerDTO };

                //if (customerRepository.ExistByCondition(x => x.Phone == customerDTO.Phone))
                //    return new DataResult<DTOCustomer> { Errors = new List<ErrorDescriber> { new ErrorDescriber("Existed Customer Phone") }, Target = customerDTO };

                //if (customerRepository.ExistByCondition(x => !string.IsNullOrEmpty(x.Email) && x.Email == customerDTO.Email))
                //    return new DataResult<DTOCustomer> { Errors = new List<ErrorDescriber> { new ErrorDescriber("Existed Customer Email") }, Target = customerDTO };

                var customerEntity = _mapper.Map <Customer>(customerDTO);

                string garageShortName = garageInfoRepository.GetFirstOrDefault()?.ShortName;
                var identityNumber = customerRepository.Identity(x => x.GenerateId) != null ? customerRepository.Identity(x => x.GenerateId).GenerateId : 0;

                customerEntity.Id = garageShortName + IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Customer.ToDefaultValue() }, NumberUnitType.Large);
                customerEntity.CreatedDate = DateTime.Now;

                var createdCustomerEntity = customerRepository.Insert(customerEntity);
                _unitOfWork.SaveChanges();

                createdCustomerDTO = _mapper.Map <DTOCustomer>(createdCustomerEntity);

                return new DataResult <DTOCustomer> {
                    Errors = new List <ErrorDescriber>(), Target = createdCustomerDTO
                };
            }));
        }
Exemplo n.º 3
0
        public Task <DataResult <DTOQuotation> > CreateQuotationAsync(DTOQuotation quotationDTO)
        {
            return(Task.Run(() =>
            {
                var createdQuotationDTO = new DTOQuotation();

                if (!quotationRepository.ExistByCondition(x => x.Id == quotationDTO.Id))
                {
                    var quotation = _mapper.Map <Quotation>(quotationDTO);

                    var lastQuotation = quotationRepository.Identity(x => x.GenerateId);
                    var identityNumber = lastQuotation != null ? lastQuotation.GenerateId : 0;

                    quotation.Id = GetShortNameByBranchId(quotationDTO.BranchId) +
                                   IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Quotation.ToDefaultValue() }, NumberUnitType.Large);

                    quotation.StartDate = DateTime.Now;
                    quotation.EntryDate = DateTime.Now;
                    quotation.StatusId = (int)DTOQuotationStatusName.RequestFromCustomer;
                    quotation.Branch = branchRepository.GetById(quotation.BranchId);
                    quotation.Status = quotationStatusRepository.GetById(quotation.StatusId);

                    var result = quotationRepository.Insert(quotation);
                    _unitOfWork.SaveChanges();

                    createdQuotationDTO = _mapper.Map <DTOQuotation>(quotation);
                }
                return new DataResult <DTOQuotation> {
                    Errors = new List <ErrorDescriber>(), Target = createdQuotationDTO
                };
            }));
        }
        public Task <DataResult <DTOCustomer> > GetCustomerByIdAsync(string customerId)
        {
            return(Task.Run(() => {
                var customerDTO = new DTOCustomer();

                var customer = customerRepository.GetById(customerId);
                if (customer != null)
                {
                    customerDTO = _mapper.Map <DTOCustomer>(customer);
                }
                else
                {
                    var identityNumber = customerRepository.Identity(x => x.GenerateId) != null ? customerRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    customerDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Customer.ToDefaultValue() }, NumberUnitType.Large);
                }

                return new DataResult <DTOCustomer> {
                    Errors = new List <ErrorDescriber>(), Target = customerDTO
                };
            }));
        }
Exemplo n.º 5
0
        public Task <DataResult <DTOService> > GetServiceByIdAsync(string id)
        {
            return(Task.Run(() => {
                var serviceDTO = new DTOService();

                var service = _serviceRepository.GetById(id);
                if (service != null)
                {
                    serviceDTO = _mapper.Map <DTOService>(service);
                }
                else
                {
                    var identityNumber = _serviceRepository.Identity(x => x.GenerateId) != null ? _serviceRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    serviceDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Service.ToDefaultValue() }, NumberUnitType.Small);
                }

                return new DataResult <DTOService> {
                    Errors = new List <ErrorDescriber>(), Target = serviceDTO
                };
            }));
        }
        public Task <DataResult <DTOEmployee> > GetEmployeeByIdAsync(string employeeId)
        {
            return(Task.Run(() =>
            {
                var employeeDTO = new DTOEmployee();

                var employee = employeeRepository.GetById(employeeId);
                if (employee != null)
                {
                    employeeDTO = _mapper.Map <DTOEmployee>(employee);
                }
                else
                {
                    var identityNumber = employeeRepository.Identity(x => x.GenerateId) != null ? employeeRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    employeeDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Employee.ToDefaultValue() }, NumberUnitType.Large);
                }

                return new DataResult <DTOEmployee> {
                    Errors = new List <ErrorDescriber>(), Target = employeeDTO
                };
            }));
        }
Exemplo n.º 7
0
        public Task <DataResult <DTOBranch> > GetByIdAsync(string id)
        {
            return(Task.Run(() => {
                var branchDTO = new DTOBranch();
                var branchRepository = _unitOfWork.GetRepository <Branch>();

                var branch = branchRepository.GetById(id);
                if (branch != null)
                {
                    branchDTO = _mapper.Map <DTOBranch>(branch);
                }
                else
                {
                    var identityNumber = branchRepository.Identity(x => x.GenerateId) != null ? branchRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    branchDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Branch.ToDefaultValue() }, NumberUnitType.Tiny);
                }

                return new DataResult <DTOBranch> {
                    Errors = new List <ErrorDescriber>(), Target = branchDTO
                };
            }));
        }
Exemplo n.º 8
0
        public Task <DataResult <DTOAccessary> > GetAccessaryByIdAsync(string id)
        {
            return(Task.Run(() => {
                var accessaryDTO = new DTOAccessary();
                var accessaryRepository = _unitOfWork.GetRepository <Accessary>();

                var service = accessaryRepository.GetById(id);
                if (service != null)
                {
                    accessaryDTO = _mapper.Map <DTOAccessary>(service);
                }
                else
                {
                    var identityNumber = accessaryRepository.Identity(x => x.GenerateId) != null ? accessaryRepository.Identity(x => x.GenerateId).GenerateId : 0;
                    accessaryDTO.Id = IdentityGenerate.Create(identityNumber, new string[] { "", EntityPrefix.Accessary.ToDefaultValue() }, NumberUnitType.Medium);
                }

                return new DataResult <DTOAccessary> {
                    Errors = new List <ErrorDescriber>(), Target = accessaryDTO
                };
            }));
        }