Exemplo n.º 1
0
        public List <Mappings> GetSupplierMappings([FromBody] SupplierGetReq request)
        {
            var response = new List <Mappings>();

            response = _supplierRepository.GetSupplierMappings(request);
            return(response);
        }
Exemplo n.º 2
0
        public async Task <SupplierGetRes> EnableDisableSupplierProduct(SupplierGetReq request)
        {
            SupplierGetRes response = new SupplierGetRes();

            try
            {
                var supplier = _MongoContext.mCompanies.AsQueryable().Where(x => x.Company_Id == request.CompanyId).FirstOrDefault();
                foreach (var p in supplier.Products)
                {
                    if (p.ProductSupplier_Id == request.ProductSupplierId)
                    {
                        p.SupplierStatus = request.Status;
                        p.EditUser       = request.EditUser;
                        p.EditDate       = DateTime.Now;
                    }
                }

                await _MongoContext.mCompanies.UpdateOneAsync(Builders <mCompanies> .Filter.Eq("Company_Id", supplier.Company_Id),
                                                              Builders <mCompanies> .Update.Set("Products", supplier.Products)
                                                              .Set("EditUser", request.EditUser).Set("EditDate", DateTime.Now));

                response.ResponseStatus.Status        = "Success";
                response.ResponseStatus.StatusMessage = "Details updated successfully.";
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = ex.Message;
            }
            return(response);
        }
Exemplo n.º 3
0
        public async Task <SupplierGetRes> GetNoOfBookingsForSupplier(SupplierGetReq request)
        {
            try
            {
                SupplierGetRes  res        = new SupplierGetRes();
                List <Bookings> response   = new List <Bookings>();
                var             prodidlist = request.bookingCount.Select(a => a.ProductId).ToList();

                response = _MongoContext.Bookings.AsQueryable().Where(x => x.Positions != null && x.Positions.Count() > 0 &&
                                                                      x.Positions.Any(z => z.SupplierInfo != null && prodidlist.Contains(z.Product_Id))).ToList();

                var count = 0;
                foreach (var a in response)
                {
                    var bookingres = request.bookingCount.Where(b => a.Positions.Select(c => c.Product_Id).ToList().Contains(b.ProductId) &&
                                                                a.Positions.Any(c => c.SupplierInfo.Id == b.SupplierId)).FirstOrDefault();

                    if (bookingres != null)
                    {
                        count++;
                        request.bookingCount.Where(b => b.SupplierId == bookingres.SupplierId && b.ProductId == bookingres.ProductId).FirstOrDefault().TotalCount = count;
                    }
                }
                res.BookingCount = request.bookingCount;
                return(res);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 4
0
        public async Task <SupplierGetRes> EnableDisableSupplierProduct(SupplierGetReq supplierGetReq, string ticket)
        {
            SupplierGetRes supplierGetRes = new SupplierGetRes();

            supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:EnableDisableSupplierProduct"), supplierGetReq, typeof(SupplierGetRes), ticket);

            return(supplierGetRes);
        }
Exemplo n.º 5
0
        public async Task <SupplierGetRes> GetNoOfBookingsForSupplier(SupplierGetReq supplierGetReq, string ticket)
        {
            SupplierGetRes supplierGetRes = new SupplierGetRes();

            supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:GetNoOfBookingsForSupplier"), supplierGetReq, typeof(SupplierGetRes), ticket);

            return(supplierGetRes);
        }
Exemplo n.º 6
0
        public async Task <List <Mappings> > GetSupplierMappings(SupplierGetReq request, string ticket)
        {
            List <Mappings> supplierGetRes = new List <Mappings>();

            supplierGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("SupplierService:GetSupplierMappings"), request, typeof(List <Mappings>), ticket);

            return(supplierGetRes);
        }
Exemplo n.º 7
0
        public IActionResult EnableDisableProduct(string CompanyId, string ProductSupplierId, string Status)
        {
            try
            {
                var status = ""; var msg = "";
                #region Set Supplier Product status
                if (Status == "Active")
                {
                    Status = "X";
                }
                else
                {
                    Status = " ";
                }
                SupplierGetReq req = new SupplierGetReq()
                {
                    CompanyId = CompanyId, ProductSupplierId = ProductSupplierId, Status = Status, EditUser = ckUserEmailId
                };
                SupplierGetRes res = supplierProviders.EnableDisableSupplierProduct(req, token).Result;

                //Call Bridge service to save Contact data in SQL databse
                ResponseStatus result = new ResponseStatus();
                if (res.ResponseStatus != null)
                {
                    if (res.ResponseStatus.Status.ToLower() == "success")
                    {
                        SetProduct_RQ request = new SetProduct_RQ();
                        request.ProductSupplier_Id = ProductSupplierId;
                        request.User = ckUserEmailId;
                        result       = supplierProviders.SetCompany_Product(request, token).Result;

                        status = result.Status;
                        msg    = res.ResponseStatus.ErrorMessage + " " + result.StatusMessage;
                    }
                    else
                    {
                        status = "failure";
                        msg    = res.ResponseStatus.ErrorMessage;
                    }
                }
                return(Json(new { }));

                #endregion
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemplo n.º 8
0
        public async Task <SupplierGetRes> EnableDisableSupplierProduct([FromBody] SupplierGetReq request)
        {
            var response = new SupplierGetRes();

            try
            {
                response = await _supplierRepository.EnableDisableSupplierProduct(request);

                response.ResponseStatus.Status       = response.ResponseStatus.Status == null ? "Success" : response.ResponseStatus.Status;
                response.ResponseStatus.ErrorMessage = response.ResponseStatus.ErrorMessage == null ? "" : response.ResponseStatus.ErrorMessage;
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }

            return(response);
        }
Exemplo n.º 9
0
        public async Task <SupplierGetRes> GetNoOfBookingsForSupplier([FromBody] SupplierGetReq request)
        {
            var response = new SupplierGetRes();

            try
            {
                response = await _supplierRepository.GetNoOfBookingsForSupplier(request);

                response.ResponseStatus.Status       = "Success";
                response.ResponseStatus.ErrorMessage = response != null ? "" : "No Records Found.";
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An Error Occurs :- " + ex.Message;
            }

            return(response);
        }
Exemplo n.º 10
0
        public List <Mappings> GetSupplierMappings(SupplierGetReq request)
        {
            List <Mappings> mappings = new List <Mappings>();

            try
            {
                if (!string.IsNullOrWhiteSpace(request.Id))
                {
                    if (!string.IsNullOrWhiteSpace(request.PageName) && request.PageName.ToLower() == "product")
                    {
                        mappings = _MongoContext.Products.AsQueryable().Where(x => x.VoyagerProduct_Id == request.Id).FirstOrDefault()?.Mappings?.OrderBy(x => x.Application).ToList();
                    }
                    else
                    {
                        mappings = _MongoContext.mCompanies.AsQueryable().Where(x => x.Company_Id == request.Id).FirstOrDefault()?.Mappings?.OrderBy(x => x.Application).ToList();
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
            return(mappings);
        }
Exemplo n.º 11
0
        public async Task <SupplierGetRes> GetSupplierData(SupplierGetReq request)
        {
            SupplierGetRes response = new SupplierGetRes();

            try
            {
                var UserCompany_Id = _MongoContext.mUsers.AsQueryable().Where(x => x.VoyagerUser_Id == request.UserId).Select(y => y.Company_Id).FirstOrDefault();
                var AdminRoleId    = _MongoContext.mRoles.AsQueryable().Where(x => x.LoweredRoleName == "administrator").Select(y => y.Voyager_Role_Id).FirstOrDefault();
                var AdminRole      = _MongoContext.mUsersInRoles.AsQueryable().Where(x => x.UserId == request.UserId && x.RoleId == AdminRoleId).FirstOrDefault();

                FilterDefinition <mCompanies> filter;
                filter = Builders <mCompanies> .Filter.Empty;
                if (AdminRole == null)                //means user is not an Admin
                {
                    var CoreCompany_Id = _MongoContext.mSystem.AsQueryable().Select(y => y.CoreCompany_Id).FirstOrDefault();
                    if (UserCompany_Id == CoreCompany_Id)
                    {
                        if (!string.IsNullOrWhiteSpace(CoreCompany_Id))
                        {
                            filter = filter & Builders <mCompanies> .Filter.Where(x => x.Company_Id != CoreCompany_Id);
                        }
                    }
                    else
                    {
                        if (!string.IsNullOrWhiteSpace(UserCompany_Id))
                        {
                            filter = filter & Builders <mCompanies> .Filter.Where(x => x.ParentAgent_Id == UserCompany_Id);
                        }
                    }
                }

                if (!string.IsNullOrWhiteSpace(request.SupplierName))
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.Name.Trim().ToLower().Contains(request.SupplierName.Trim().ToLower()) && x.Issupplier == true);
                }
                if (!string.IsNullOrWhiteSpace(request.SupplierCode))
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.CompanyCode.ToLower().Contains(request.SupplierCode.Trim().ToLower()) && x.Issupplier == true);
                }
                if (request.CountryId.HasValue && !(request.CountryId.Value == Guid.Empty))
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.Country_Id == Convert.ToString(request.CountryId));
                }
                if (request.CityId.HasValue && !(request.CityId.Value == Guid.Empty))
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.City_Id == Convert.ToString(request.CityId));
                }
                if (!string.IsNullOrWhiteSpace(request.ProductType))
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.Products.Any(y => y.ProductType.Contains(request.ProductType)));
                }
                if (!string.IsNullOrWhiteSpace(request.Status) && request.Status.ToLower() == "inactive")
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.STATUS != "" && x.STATUS != " ");
                }
                else
                {
                    filter = filter & Builders <mCompanies> .Filter.Where(x => x.STATUS == "" || x.STATUS == " ");
                }

                filter = filter & Builders <mCompanies> .Filter.Where(x => x.Issupplier == true);

                var result = await _MongoContext.mCompanies.Find(filter).Sort("{Name: 1}").Skip(request.Start).Limit(request.Length).Project(x => new SupplierList
                {
                    CompanyId  = x.Company_Id,
                    CityId     = x.City_Id,
                    City       = x.CityName,
                    CountryId  = x.Country_Id,
                    Country    = x.CountryName,
                    Code       = x.CompanyCode,
                    Name       = x.Name,
                    Status     = x.STATUS,
                    IsSupplier = x.Issupplier
                }).ToListAsync();

                if (result.Count > 0)
                {
                    response.SupplierTotalCount = Convert.ToInt32(_MongoContext.mCompanies.Find(filter).Count());
                }
                response.SupplierList = result;

                //response.SupplierList = result.OrderBy(x => x.Name).ToList();

                return(response);
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status = "Failure";
            }
            return(response);
        }
Exemplo n.º 12
0
        public ActionResult LoadData(string CompanyId, int draw, int start, int length)
        {
            List <SupplierProducts> products = new List <SupplierProducts>();

            #region Get Company info
            AgentGetReq request = new AgentGetReq()
            {
                CompanyId = CompanyId, Start = start, Length = (length == 0) ? 10 : length
            };
            AgentGetRes response = agentProviders.GetAgentDetailedInfo(request, token).Result;
            #endregion

            if (response.AgentDetails.Products != null && response.AgentDetails.Products.Count > 0)
            {
                #region Get Booking info
                List <BookingCount> list = new List <BookingCount>();

                foreach (var a in response.AgentDetails.Products)
                {
                    BookingCount b = new BookingCount();
                    b.ProductId  = a.Product_Id;
                    b.SupplierId = a.Supplier_Id;
                    list.Add(b);
                }
                SupplierGetReq request1 = new SupplierGetReq()
                {
                    CompanyId = CompanyId, bookingCount = list
                };
                SupplierGetRes response1 = supplierProviders.GetNoOfBookingsForSupplier(request1, token).Result;
                #endregion

                #region Data binding
                foreach (var p in response.AgentDetails.Products)
                {
                    SupplierProducts prod = new SupplierProducts();
                    prod.ProductId         = p.Product_Id;
                    prod.ProductType       = p.ProductType;
                    prod.ProductSupplierId = p.ProductSupplier_Id;
                    prod.Code      = p.ProductCode;
                    prod.Name      = p.ProductName;
                    prod.Status    = string.IsNullOrWhiteSpace(p.SupplierStatus) ? "Active" : "Inactive";
                    prod.Type      = p.ProductType;
                    prod.Country   = p.Country;
                    prod.City      = p.City;
                    prod.Default   = (p.IsDefault == null || p.IsDefault == false) ? "N" : "Y";
                    prod.Preferred = (p.IsPreferred == null || p.IsPreferred == false) ? "N" : "Y";
                    prod.Usage     = response1.BookingCount.Where(x => x.ProductId == p.Product_Id).Select(x => x.TotalCount).FirstOrDefault();                 //bookinglist.Where(x => x.Positions.Any(y => y.Product_Id == p.Product_Id && y.SupplierInfo.Id == p.Supplier_Id)).Count();
                    products.Add(prod);
                }
                //products = products.OrderBy(x => x.Name).ToList();
                #endregion
            }

            return(Json(new
            {
                draw = draw,
                recordsTotal = response.ProductsTotalCount,
                recordsFiltered = response.ProductsTotalCount,
                data = products
            }));
        }