public async Task <ApiResponse> Handle(AddStoreSourceCodeCommand request, CancellationToken cancellationToken)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                StoreSourceCodeDetail storeSourceCodeDetail = _dbContext.StoreSourceCodeDetail.FirstOrDefault(x => x.IsDeleted == false && x.Code == request.Code);

                if (storeSourceCodeDetail != null)
                {
                    throw new Exception("Code already present. Please try again!!");
                }

                StoreSourceCodeDetail obj = _mapper.Map <StoreSourceCodeDetail>(request);

                obj.IsDeleted   = false;
                obj.CreatedDate = request.CreatedDate;
                obj.CreatedById = request.CreatedById;

                await _dbContext.StoreSourceCodeDetail.AddAsync(obj);

                await _dbContext.SaveChangesAsync();

                response.StatusCode = StaticResource.successStatusCode;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = ex.Message;
            }

            return(response);
        }
Пример #2
0
        public async Task <ApiResponse> Handle(DeleteStoreSourceCodeCommand request, CancellationToken cancellationToken)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                //Returning the storeSourceCodeDetail record based on storeSourceCodeId received
                StoreSourceCodeDetail storeSourceCodeDetail = _dbContext.StoreSourceCodeDetail.FirstOrDefault(x => x.SourceCodeId == request.storeSourceCodeId && x.IsDeleted == false);

                //Deleting record
                storeSourceCodeDetail.IsDeleted    = true;
                storeSourceCodeDetail.ModifiedDate = request.ModifiedDate;
                storeSourceCodeDetail.ModifiedById = request.ModifiedById;

                //updating to db
                await _dbContext.SaveChangesAsync();

                response.StatusCode = StaticResource.successStatusCode;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = StaticResource.SomethingWrong + ex.Message;
            }

            return(response);
        }
        public async Task <ApiResponse> Handle(EditStoreSourceCodeCommand request, CancellationToken cancellationToken)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                //Retrieving the Old storeSourceCode record from  db
                StoreSourceCodeDetail storeSourceCodeDetail = await _dbContext.StoreSourceCodeDetail.FirstOrDefaultAsync(x => x.IsDeleted == false && x.SourceCodeId == request.SourceCodeId);

                //Mapping new values in old storeSourceCode record
                storeSourceCodeDetail.Address      = request.Address;
                storeSourceCodeDetail.Code         = request.Code;
                storeSourceCodeDetail.CodeTypeId   = request.CodeTypeId;
                storeSourceCodeDetail.Description  = request.Description;
                storeSourceCodeDetail.EmailAddress = request.EmailAddress;
                storeSourceCodeDetail.Fax          = request.Fax;
                storeSourceCodeDetail.Guarantor    = request.Guarantor;
                storeSourceCodeDetail.Phone        = request.Phone;
                storeSourceCodeDetail.IsDeleted    = false;
                storeSourceCodeDetail.ModifiedDate = request.ModifiedDate;
                storeSourceCodeDetail.ModifiedById = request.ModifiedById;

                //saving newly mapped object
                await _dbContext.SaveChangesAsync();

                response.StatusCode = StaticResource.successStatusCode;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = StaticResource.SomethingWrong + ex.Message;
            }

            return(response);
        }
Пример #4
0
        public async Task <ApiResponse> Handle(GetStoreTypeCodeQuery request, CancellationToken cancellationToken)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                string storeCode = string.Empty;

                int codeNumber = 0;

                //Getting latest created record of StoreSourceCodeDetail based on source code type selected
                StoreSourceCodeDetail storeSourceCodeDetail = await _dbContext.StoreSourceCodeDetail.OrderByDescending(x => x.SourceCodeId).FirstOrDefaultAsync(x => x.IsDeleted == false && x.CodeTypeId == request.CodeTypeId);

                if (storeSourceCodeDetail != null)
                {
                    //retreiving the number in code
                    if (int.TryParse(storeSourceCodeDetail.Code.Substring(1), out codeNumber))
                    {
                        //generating a new code for new entry in StoreSourceCodeDetail table based on source code type selected
                        switch (request.CodeTypeId)
                        {
                        case (int)SourceCode.Organizations:
                            storeCode = "O" + String.Format("{0:D5}", ++codeNumber);
                            break;

                        case (int)SourceCode.Suppliers:
                            storeCode = "S" + String.Format("{0:D5}", ++codeNumber);
                            break;

                        case (int)SourceCode.RepairShops:
                            storeCode = "R" + String.Format("{0:D5}", ++codeNumber);
                            break;

                        case (int)SourceCode.LocationsStores:
                            storeCode = "L" + String.Format("{0:D5}", ++codeNumber);
                            break;

                        case (int)SourceCode.IndividualOthers:
                            storeCode = "I" + String.Format("{0:D5}", ++codeNumber);
                            break;

                        case (int)SourceCode.Test:
                            storeCode = "T" + String.Format("{0:D5}", ++codeNumber);
                            break;
                        }

                        response.data.StoreSourceCode = storeCode;
                    }
                }
                else//record is not present
                {
                    switch (request.CodeTypeId)
                    {
                    case (int)SourceCode.Organizations:
                        storeCode = "O" + String.Format("{0:D5}", ++codeNumber);
                        break;

                    case (int)SourceCode.Suppliers:
                        storeCode = "S" + String.Format("{0:D5}", ++codeNumber);
                        break;

                    case (int)SourceCode.RepairShops:
                        storeCode = "R" + String.Format("{0:D5}", ++codeNumber);
                        break;

                    case (int)SourceCode.LocationsStores:
                        storeCode = "L" + String.Format("{0:D5}", ++codeNumber);
                        break;

                    case (int)SourceCode.IndividualOthers:
                        storeCode = "I" + String.Format("{0:D5}", ++codeNumber);
                        break;

                    case (int)SourceCode.Test:
                        storeCode = "T" + String.Format("{0:D5}", ++codeNumber);
                        break;
                    }

                    response.data.StoreSourceCode = storeCode;
                }

                response.StatusCode = StaticResource.successStatusCode;
                response.Message    = "Success";
            }
            catch (Exception ex)
            {
                response.StatusCode = StaticResource.failStatusCode;
                response.Message    = StaticResource.SomethingWrong + ex.Message;
            }

            return(response);
        }