public async Task <CommonLookupRespObj> Handle(GetCurrencyRateQuery request, CancellationToken cancellationToken)
        {
            var lookUp = await _repo.GetCurrencyRateAsync(request.CurrencyRateId);

            var respItemList = new List <CommonLookupsObj>();

            if (lookUp != null)
            {
                var item = new CommonLookupsObj
                {
                    LookupId    = lookUp.CurrencyRateId,
                    BuyingRate  = (double)lookUp.BuyingRate,
                    ParentId    = lookUp.CurrencyId,
                    Code        = lookUp.CurrencyCode,
                    Date        = lookUp.Date,
                    SellingRate = (double)lookUp.SellingRate,
                };
                respItemList.Add(item);
            }
            return(new CommonLookupRespObj
            {
                CommonLookups = respItemList,
                Status = new APIResponseStatus
                {
                    IsSuccessful = true,
                    Message = new APIResponseMessage
                    {
                        FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found"
                    }
                }
            });
        }
        public async Task <CommonLookupRespObj> Handle(GetJobTitleQuery request, CancellationToken cancellationToken)
        {
            var lookUp = await _repo.GetJobTitlAsync(request.JobTitleId);

            var respItemList = new List <CommonLookupsObj>();

            if (lookUp != null)
            {
                var item = new CommonLookupsObj
                {
                    LookupId         = lookUp.JobTitleId,
                    LookupName       = lookUp.Name,
                    Description      = lookUp.JobDescription,
                    Skills           = lookUp.Skills,
                    SkillDescription = lookUp.SkillDescription
                };
                respItemList.Add(item);
            }

            return(new CommonLookupRespObj
            {
                CommonLookups = respItemList,
                Status = new APIResponseStatus
                {
                    IsSuccessful = true,
                    Message = new APIResponseMessage
                    {
                        FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found"
                    }
                }
            });
        }
        public async Task <CommonLookupRespObj> Handle(GetCountryQuery request, CancellationToken cancellationToken)
        {
            var lookUp = await _repo.GetCountryAsync(request.CountryId);

            var respItemList = new List <CommonLookupsObj>();

            if (lookUp != null)
            {
                var item = new CommonLookupsObj
                {
                    LookupId   = lookUp.CountryId,
                    Code       = lookUp.CountryCode,
                    LookupName = lookUp.CountryName,
                };
                respItemList.Add(item);
            }

            return(new CommonLookupRespObj
            {
                CommonLookups = respItemList,
                Status = new APIResponseStatus
                {
                    IsSuccessful = true,
                    Message = new APIResponseMessage
                    {
                        FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found"
                    }
                }
            });
        }
Example #4
0
        public async Task <CommonLookupRespObj> Handle(GetCreditBureauQuery request, CancellationToken cancellationToken)
        {
            var lookUp = await _repo.GetCreditBureauAsync(request.CreditBureauId);

            var respItemList = new List <CommonLookupsObj>();

            if (lookUp != null)
            {
                var item = new CommonLookupsObj
                {
                    LookupId               = lookUp.CreditBureauId,
                    LookupName             = lookUp.CreditBureauName,
                    CorporateChargeAmount  = lookUp.CorporateChargeAmount,
                    IndividualChargeAmount = lookUp.IndividualChargeAmount,
                    GLAccountId            = lookUp.GLAccountId,
                    IsMandatory            = lookUp.IsMandatory
                };
                respItemList.Add(item);
            }

            return(new CommonLookupRespObj
            {
                CommonLookups = respItemList,
                Status = new APIResponseStatus
                {
                    IsSuccessful = true,
                    Message = new APIResponseMessage
                    {
                        FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found"
                    }
                }
            });
        }
Example #5
0
            public async Task <byte[]> Handle(DownloadCurrencyQuery request, CancellationToken cancellationToken)
            {
                try
                {
                    byte[] File        = new byte[0];
                    var    _DomainList = await _repo.GetAllCurrencyAsync();

                    var _StateList = await _repo.GetAllStateAsync();

                    DataTable dt = new DataTable();
                    dt.Columns.Add("Currency Code");
                    dt.Columns.Add("Currency Name");
                    dt.Columns.Add("Base Currency");
                    dt.Columns.Add("In Use");

                    var _ContractList = new List <CommonLookupsObj>();
                    foreach (var item in _DomainList)
                    {
                        var res = new CommonLookupsObj();
                        res.Code         = item.CurrencyCode != null ? item?.CurrencyCode : " ";
                        res.LookupName   = item.CurrencyName != null ? item?.CurrencyName : " ";
                        res.BaseCurrency = item.BaseCurrency != null?(bool)item.BaseCurrency : false;
                        res.Active       = item.INUSE;
                        _ContractList.Add(res);
                    }

                    if (_ContractList.Count() > 0)
                    {
                        foreach (var itemRow in _ContractList)
                        {
                            var row = dt.NewRow();
                            row["Currency Code"] = itemRow.Code;
                            row["Currency Name"] = itemRow.LookupName;
                            row["Base Currency"] = itemRow.BaseCurrency;
                            row["In Use"]        = itemRow.Active;
                            dt.Rows.Add(row);
                        }

                        if (_ContractList != null)
                        {
                            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
                            using (ExcelPackage pck = new ExcelPackage())
                            {
                                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Currencies");
                                ws.DefaultColWidth = 20;
                                ws.Cells["A1"].LoadFromDataTable(dt, true, OfficeOpenXml.Table.TableStyles.None);
                                File = pck.GetAsByteArray();
                            }
                        }
                    }
                    return(File);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            public async Task <FileUploadRespObj> Handle(UploadCityCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var apiResponse = new FileUploadRespObj {
                        Status = new APIResponseStatus {
                            IsSuccessful = false, Message = new APIResponseMessage()
                        }
                    };

                    var files = _accessor.HttpContext.Request.Form.Files;

                    var byteList = new List <byte[]>();
                    foreach (var fileBit in files)
                    {
                        if (fileBit.Length > 0)
                        {
                            using (var ms = new MemoryStream())
                            {
                                await fileBit.CopyToAsync(ms);

                                byteList.Add(ms.ToArray());
                            }
                        }
                    }

                    var uploadedRecord = new List <CommonLookupsObj>();
                    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

                    if (byteList.Count() > 0)
                    {
                        foreach (var byteItem in byteList)
                        {
                            using (MemoryStream stream = new MemoryStream(byteItem))
                                using (ExcelPackage excelPackage = new ExcelPackage(stream))
                                {
                                    ExcelWorksheet workSheet     = excelPackage.Workbook.Worksheets[0];
                                    int            totalRows     = workSheet.Dimension.Rows;
                                    int            totatlColumns = workSheet.Dimension.Columns;
                                    if (totatlColumns != 3)
                                    {
                                        apiResponse.Status.Message.FriendlyMessage = "Three (3) Columns Expected";
                                        return(apiResponse);
                                    }
                                    for (int i = 2; i <= totalRows; i++)
                                    {
                                        var lkp = new CommonLookupsObj
                                        {
                                            ExcelLineNumber = i,
                                            Code            = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty,
                                            LookupName      = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty,
                                            ParentName      = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty,
                                        };
                                        uploadedRecord.Add(lkp);
                                    }
                                }
                        }
                    }

                    var _CityList = await _repo.GetAllCityAsync();

                    var _State = await _repo.GetAllStateAsync();

                    if (uploadedRecord.Count > 0)
                    {
                        foreach (var item in uploadedRecord)
                        {
                            if (string.IsNullOrEmpty(item.Code))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"City Code can not be empty on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.LookupName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"City Name can not be empty on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }

                            if (string.IsNullOrEmpty(item.ParentName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"State Name can not be empty on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            else
                            {
                                var state = _State.FirstOrDefault(d => d.StateCode.Trim().ToLower() == item.ParentName.Trim().ToLower());
                                if (state == null)
                                {
                                    apiResponse.Status.Message.FriendlyMessage = $"State name unidentified on line {item.ExcelLineNumber}";
                                    return(apiResponse);
                                }
                                item.ParentId = state.StateId;
                            }

                            var currentCity = _CityList.FirstOrDefault(c => c.CityCode.ToLower() == item.Code.ToLower() && c.Deleted == false);

                            if (currentCity == null)
                            {
                                var City = new cor_city();
                                City.CityName = item.LookupName;
                                City.StateId  = item.ParentId;
                                City.CityCode = item.Code;
                                await _repo.AddUpdateCityAsync(City);
                            }
                            else
                            {
                                currentCity.CityName = item.LookupName;
                                currentCity.StateId  = item.ParentId;
                                currentCity.CityCode = item.Code;
                                await _repo.AddUpdateCityAsync(currentCity);
                            }
                        }
                    }
                    apiResponse.Status.IsSuccessful            = true;
                    apiResponse.Status.Message.FriendlyMessage = "Successful";
                    return(apiResponse);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            public async Task <FileUploadRespObj> Handle(UploadDocumentTypeCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var apiResponse = new FileUploadRespObj {
                        Status = new APIResponseStatus {
                            IsSuccessful = false, Message = new APIResponseMessage()
                        }
                    };

                    var files = _accessor.HttpContext.Request.Form.Files;

                    var byteList = new List <byte[]>();
                    foreach (var fileBit in files)
                    {
                        if (fileBit.Length > 0)
                        {
                            using (var ms = new MemoryStream())
                            {
                                await fileBit.CopyToAsync(ms);

                                byteList.Add(ms.ToArray());
                            }
                        }
                    }

                    var uploadedRecord = new List <CommonLookupsObj>();
                    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

                    if (byteList.Count() > 0)
                    {
                        foreach (var byteItem in byteList)
                        {
                            using (MemoryStream stream = new MemoryStream(byteItem))
                                using (ExcelPackage excelPackage = new ExcelPackage(stream))
                                {
                                    //Use first sheet by default
                                    ExcelWorksheet workSheet    = excelPackage.Workbook.Worksheets[0];
                                    int            totalRows    = workSheet.Dimension.Rows;
                                    int            totalColumns = workSheet.Dimension.Columns;
                                    if (totalColumns != 1)
                                    {
                                        apiResponse.Status.Message.FriendlyMessage = $"One (1) Column Expected";
                                        return(apiResponse);
                                    }
                                    //First row is considered as the header
                                    for (int i = 2; i <= totalRows; i++)
                                    {
                                        var lkp = new CommonLookupsObj
                                        {
                                            ExcelLineNumber = i,
                                            LookupName      = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty,
                                        };
                                        uploadedRecord.Add(lkp);
                                    }
                                }
                        }
                    }


                    var _DocumentTypeList = await _repo.GetAllDocumentTypeAsync();

                    if (uploadedRecord.Count > 0)
                    {
                        foreach (var item in uploadedRecord)
                        {
                            if (string.IsNullOrEmpty(item.LookupName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Document type name can not be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            var currentDocumentType = _DocumentTypeList.FirstOrDefault(c => c.Name.ToLower() == item.LookupName.ToLower() && c.Deleted == false);

                            if (currentDocumentType == null)
                            {
                                var DocumentType = new credit_documenttype();
                                DocumentType.Name = item.LookupName;
                                await _repo.AddUpdateDocumentTypeAsync(DocumentType);
                            }
                            else
                            {
                                currentDocumentType.Name = item.LookupName;
                                await _repo.AddUpdateDocumentTypeAsync(currentDocumentType);
                            }
                        }
                    }
                    apiResponse.Status.IsSuccessful            = true;
                    apiResponse.Status.Message.FriendlyMessage = "Successful";
                    return(apiResponse);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
Example #8
0
            public async Task <FileUploadRespObj> Handle(UploadJobTitleCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var apiResponse = new FileUploadRespObj {
                        Status = new APIResponseStatus {
                            IsSuccessful = false, Message = new APIResponseMessage()
                        }
                    };

                    var files = _accessor.HttpContext.Request.Form.Files;

                    var byteList = new List <byte[]>();
                    foreach (var fileBit in files)
                    {
                        if (fileBit.Length > 0)
                        {
                            using (var ms = new MemoryStream())
                            {
                                await fileBit.CopyToAsync(ms);

                                byteList.Add(ms.ToArray());
                            }
                        }
                    }
                    var userId = _accessor.HttpContext.User?.FindFirst(x => x.Type == "userId").Value;
                    var user   = await _userManager.FindByIdAsync(userId);

                    var _JobTitle = await _repo.GetAllJobTitleAsync();

                    var _State = await _repo.GetAllStateAsync();

                    var uploadedRecord = new List <CommonLookupsObj>();
                    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

                    if (byteList.Count() > 0)
                    {
                        foreach (var byteItem in byteList)
                        {
                            using (MemoryStream stream = new MemoryStream(byteItem))
                                using (ExcelPackage excelPackage = new ExcelPackage(stream))
                                {
                                    //Use first sheet by default
                                    ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0];
                                    int            totalRows = workSheet.Dimension.Rows;
                                    //First row is considered as the header
                                    int totalColumns = workSheet.Dimension.Columns;
                                    if (totalColumns != 4)
                                    {
                                        apiResponse.Status.Message.FriendlyMessage = $"Four (4) Columns Expected";
                                        return(apiResponse);
                                    }
                                    for (int i = 2; i <= totalRows; i++)
                                    {
                                        var lkp = new CommonLookupsObj
                                        {
                                            ExcelLineNumber  = i,
                                            LookupName       = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty,
                                            Description      = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty,
                                            Skills           = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty,
                                            SkillDescription = workSheet.Cells[i, 4]?.Value != null ? workSheet.Cells[i, 4]?.Value.ToString() : string.Empty,
                                        };
                                        uploadedRecord.Add(lkp);
                                    }
                                }
                        }
                    }


                    var _JobTitleList = await _repo.GetAllJobTitleAsync();

                    if (uploadedRecord.Count > 0)
                    {
                        foreach (var item in uploadedRecord)
                        {
                            if (string.IsNullOrEmpty(item.LookupName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Job Title Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.Description))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Description Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.Skills))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Skills Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.SkillDescription))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Skill Description Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            var currentJobTitle = _JobTitleList.FirstOrDefault(c => c.Name.ToLower() == item.LookupName.ToLower() && c.Deleted == false);

                            if (currentJobTitle == null)
                            {
                                var JobTitle = new cor_jobtitles();
                                JobTitle.Name             = item.LookupName;
                                JobTitle.JobDescription   = item.Description;
                                JobTitle.Skills           = item.Skills;
                                JobTitle.SkillDescription = item.SkillDescription;
                                await _repo.AddUpdateJobTitleAsync(JobTitle);
                            }
                            else
                            {
                                currentJobTitle.Name             = item.LookupName;
                                currentJobTitle.JobDescription   = item.Description;
                                currentJobTitle.Skills           = item.Skills;
                                currentJobTitle.SkillDescription = item.SkillDescription;
                                await _repo.AddUpdateJobTitleAsync(currentJobTitle);
                            }
                        }
                    }
                    apiResponse.Status.IsSuccessful            = true;
                    apiResponse.Status.Message.FriendlyMessage = "Successful";
                    return(apiResponse);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
Example #9
0
            public async Task <FileUploadRespObj> Handle(UploadCurrencyCommand request, CancellationToken cancellationToken)
            {
                try
                {
                    var apiResponse = new FileUploadRespObj {
                        Status = new APIResponseStatus {
                            IsSuccessful = false, Message = new APIResponseMessage()
                        }
                    };

                    var files = _accessor.HttpContext.Request.Form.Files;

                    var byteList = new List <byte[]>();
                    foreach (var fileBit in files)
                    {
                        if (fileBit.Length > 0)
                        {
                            using (var ms = new MemoryStream())
                            {
                                await fileBit.CopyToAsync(ms);

                                byteList.Add(ms.ToArray());
                            }
                        }
                    }
                    var uploadedRecord = new List <CommonLookupsObj>();
                    ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

                    if (byteList.Count() > 0)
                    {
                        foreach (var byteItem in byteList)
                        {
                            using (MemoryStream stream = new MemoryStream(byteItem))
                                using (ExcelPackage excelPackage = new ExcelPackage(stream))
                                {
                                    //Use first sheet by default
                                    ExcelWorksheet workSheet    = excelPackage.Workbook.Worksheets[0];
                                    int            totalRows    = workSheet.Dimension.Rows;
                                    int            totalColumns = workSheet.Dimension.Columns;
                                    if (totalColumns != 4)
                                    {
                                        apiResponse.Status.Message.FriendlyMessage = $"Four (4) Columns Expected";
                                        return(apiResponse);
                                    }
                                    //First row is considered as the header
                                    for (int i = 2; i <= totalRows; i++)
                                    {
                                        var lkp = new CommonLookupsObj
                                        {
                                            ExcelLineNumber = i,
                                            Code            = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty,
                                            LookupName      = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty,
                                            ParentName      = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty,
                                            Description     = workSheet.Cells[i, 4]?.Value != null ? workSheet.Cells[i, 4]?.Value.ToString() : string.Empty,
                                        };
                                        uploadedRecord.Add(lkp);
                                    }
                                }
                        }
                    }

                    var _CurrencyList = await _repo.GetAllCurrencyAsync();

                    if (uploadedRecord.Count > 0)
                    {
                        foreach (var item in uploadedRecord)
                        {
                            if (string.IsNullOrEmpty(item.Code))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Currency Code can not be empty on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.LookupName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Currency Name can not be empty on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            if (string.IsNullOrEmpty(item.ParentName))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"Base currency Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            else
                            {
                                if (!Convert.ToBoolean(item.ParentName) && Convert.ToBoolean(item.ParentName))
                                {
                                    apiResponse.Status.Message.FriendlyMessage = $"Invalid Base currency detected on line {item.ExcelLineNumber}";
                                    return(apiResponse);
                                }
                                item.BaseCurrency = Convert.ToBoolean(item.ParentName);
                            }
                            if (string.IsNullOrEmpty(item.Description))
                            {
                                apiResponse.Status.Message.FriendlyMessage = $"In Use Cannot be empty detected on line {item.ExcelLineNumber}";
                                return(apiResponse);
                            }
                            else
                            {
                                if (!Convert.ToBoolean(item.Description) && Convert.ToBoolean(item.Description))
                                {
                                    apiResponse.Status.Message.FriendlyMessage = $"Invalid In Use value detected on line {item.ExcelLineNumber}";
                                    return(apiResponse);
                                }
                                item.Active = Convert.ToBoolean(item.Description);
                            }

                            var currentCurrency = _CurrencyList.FirstOrDefault(c => c.CurrencyCode.ToLower() == item.Code.ToLower() && c.Deleted == false);
                            if (currentCurrency == null)
                            {
                                var Currency = new cor_currency();
                                Currency.CurrencyName = item.LookupName;
                                Currency.CurrencyCode = item.Code;
                                Currency.INUSE        = item.Active;
                                Currency.BaseCurrency = item.BaseCurrency;
                                await _repo.AddUpdateCurrencyAsync(Currency);
                            }
                            else
                            {
                                currentCurrency.CurrencyName = item.LookupName;
                                currentCurrency.CurrencyCode = item.Code;
                                currentCurrency.INUSE        = item.Active;
                                currentCurrency.BaseCurrency = item.BaseCurrency;
                                await _repo.AddUpdateCurrencyAsync(currentCurrency);
                            }
                        }
                    }
                    apiResponse.Status.IsSuccessful            = true;
                    apiResponse.Status.Message.FriendlyMessage = "Successful";
                    return(apiResponse);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }