Пример #1
0
        public List <FrayteCustomerAssociatedUser> GetCustomerDetail(string Name, int RoleId)
        {
            List <FrayteCustomerAssociatedUser> customer = new List <FrayteCustomerAssociatedUser>();

            // To Do : customer should come according to moduleType
            var operationzone = UtilityRepository.GetOperationZone();

            if (RoleId == (int)FrayteUserRole.Admin || RoleId == (int)FrayteUserRole.Staff)
            {
                var findUser = (from u in dbContext.Users.Where(p => p.ContactName.Contains(Name))
                                join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                                where u.IsActive == true &&
                                u.OperationZoneId == operationzone.OperationZoneId &&
                                ur.RoleId == (int)FrayteUserRole.Customer
                                select u).ToList();

                if (findUser != null && findUser.Count > 0)
                {
                    FrayteCustomerAssociatedUser associateUser;
                    foreach (var uu in findUser)
                    {
                        var phonecode = (from ua in dbContext.UserAddresses
                                         join c in dbContext.Countries on ua.CountryId equals c.CountryId
                                         where ua.UserId == uu.UserId
                                         select new
                        {
                            PhoneCode = c.CountryPhoneCode
                        }).FirstOrDefault();

                        associateUser              = new FrayteCustomerAssociatedUser();
                        associateUser.UserId       = uu.UserId;
                        associateUser.ContactName  = uu.ContactName;
                        associateUser.Email        = uu.UserEmail;
                        associateUser.TelephoneNo  = (phonecode == null || phonecode.PhoneCode == "") ? uu.TelephoneNo : "(+" + phonecode.PhoneCode + ") " + uu.TelephoneNo;
                        associateUser.WorkingHours = UtilityRepository.GetWorkingHours(uu.WorkingStartTime, uu.WorkingEndTime);
                        customer.Add(associateUser);
                    }
                }
            }

            return(customer);
        }
Пример #2
0
        public void GetAssociateCustomeDetail(FrayteInternalUser customer)
        {
            customer.AssociateCustomer = new List <FrayteAssociateCustomer>();
            FrayteAssociateCustomer user;

            var associatedetail = (from cs in dbContext.CustomerStaffs
                                   join u in dbContext.Users on cs.UserId equals u.UserId
                                   join ua in dbContext.UserAddresses on u.UserId equals ua.UserId
                                   join c in dbContext.Countries on ua.CountryId equals c.CountryId
                                   where cs.CustomerStaffId == customer.UserId &&
                                   cs.IsActive == true &&
                                   u.IsActive == true
                                   select new
            {
                CustomerStaffDetailId = cs.CustomerStaffDetailId,
                UserId = u.UserId,
                ContactName = u.ContactName,
                Email = u.UserEmail,
                PhoneCode = (c == null || c.CountryPhoneCode == "") ? "" : c.CountryPhoneCode,
                TelephoneNo = u.TelephoneNo,
                WorkingStartTime = u.WorkingStartTime,
                WorkingEndTime = u.WorkingEndTime
            }).ToList();

            if (associatedetail != null && associatedetail.Count > 0)
            {
                foreach (var dd in associatedetail)
                {
                    user                       = new FrayteAssociateCustomer();
                    user.CustomerId            = dd.UserId;
                    user.CustomerStaffDetailId = dd.CustomerStaffDetailId;
                    user.CustomerName          = dd.ContactName;
                    user.Email                 = dd.Email;
                    user.ContactNo             = dd.PhoneCode == "" ? dd.TelephoneNo : "(+" + dd.PhoneCode + ") " + dd.TelephoneNo;
                    user.WorkingHours          = UtilityRepository.GetWorkingHours(dd.WorkingStartTime, dd.WorkingEndTime);
                    customer.AssociateCustomer.Add(user);
                }
            }
        }
Пример #3
0
        public FrayteWarehouse GetWarehouseDetail(int?warehouseId)
        {
            FrayteWarehouse warehouseDetail = new FrayteWarehouse();
            WorkingWeekDay  workingDays     = new WorkingWeekDay();
            var             warehouse       = dbContext.Warehouses.Where(p => p.WarehouseId == warehouseId).FirstOrDefault();

            if (warehouse != null)
            {
                warehouseDetail.WarehouseId    = warehouse.WarehouseId;
                warehouseDetail.Address        = warehouse.Address;
                warehouseDetail.Address2       = warehouse.Address2;
                warehouseDetail.Address3       = warehouse.Address3;
                warehouseDetail.City           = warehouse.City;
                warehouseDetail.State          = warehouse.State;
                warehouseDetail.Zip            = warehouse.Zip;
                warehouseDetail.WorkingWeekDay = new WorkingWeekDay();
                if (warehouse.WorkingWeekDayId != null)
                {
                    warehouseDetail.WorkingWeekDay.WorkingWeekDayId = warehouse.WorkingWeekDayId.Value;
                }

                if (warehouseDetail.WorkingWeekDay.WorkingWeekDayId > 0)
                {
                    workingDays = dbContext.WorkingWeekDays.Find(warehouseDetail.WorkingWeekDay.WorkingWeekDayId);
                }


                if (workingDays != null)
                {
                    warehouseDetail.WorkingWeekDay = workingDays;
                }
                warehouseDetail.Email            = warehouse.Email;
                warehouseDetail.TelephoneNo      = warehouse.TelephoneNo;
                warehouseDetail.MobileNo         = warehouse.MobileNo;
                warehouseDetail.Fax              = warehouse.Fax;
                warehouseDetail.WorkingStartTime = UtilityRepository.GetTimeZoneTime(warehouse.WorkingStartTime, warehouse.TimeZoneId);
                warehouseDetail.WorkingEndTime   = UtilityRepository.GetTimeZoneTime(warehouse.WorkingEndTime, warehouse.TimeZoneId);
                warehouseDetail.Address3         = warehouse.Address3;
                warehouseDetail.Address3         = warehouse.Address3;
                warehouseDetail.Address3         = warehouse.Address3;

                warehouseDetail.LocationMapImage    = warehouse.LocationMapImage;
                warehouseDetail.LocationName        = warehouse.LocationName;
                warehouseDetail.MapDetail           = new GrayteGoogleMap();
                warehouseDetail.MapDetail.latitude  = warehouse.LocationLatitude.HasValue ?  warehouse.LocationLatitude.Value : 0;
                warehouseDetail.MapDetail.longitude = warehouse.LocationLongitude.HasValue ? warehouse.LocationLongitude.Value : 0;
                warehouseDetail.Zoom                   = warehouse.LocationZoom.HasValue ? warehouse.LocationZoom.Value : 0;
                warehouseDetail.MarkerDetail           = new GrayteGoogleMap();
                warehouseDetail.MarkerDetail.latitude  = warehouse.MarkerLatitude.HasValue ? warehouse.MarkerLatitude.Value : 0;
                warehouseDetail.MarkerDetail.longitude = warehouse.MarkerLongitude.HasValue ? warehouse.MarkerLongitude.Value : 0;

                //Get Country Details
                var country = dbContext.Countries.Where(p => p.CountryId == warehouse.CountryId).FirstOrDefault();
                if (country != null)
                {
                    warehouseDetail.Country           = new FrayteCountryCode();
                    warehouseDetail.Country.CountryId = country.CountryId;
                    warehouseDetail.Country.Code      = country.CountryCode;
                    warehouseDetail.Country.Code2     = country.CountryCode2;
                    warehouseDetail.Country.Name      = country.CountryName;
                }
                else
                {
                    warehouseDetail.Country = new FrayteCountryCode();
                }

                //Get TimeZone details
                var timezone = dbContext.Timezones.Where(p => p.TimezoneId == warehouse.TimeZoneId).FirstOrDefault();
                if (timezone != null)
                {
                    warehouseDetail.Timezone             = new TimeZoneModal();
                    warehouseDetail.Timezone.TimezoneId  = timezone.TimezoneId;
                    warehouseDetail.Timezone.Name        = timezone.Name;
                    warehouseDetail.Timezone.Offset      = timezone.Offset;
                    warehouseDetail.Timezone.OffsetShort = timezone.OffsetShort;
                }
                else
                {
                    warehouseDetail.Timezone = new TimeZoneModal();
                }

                //Get warehouse manager detail
                var warehouseManager = dbContext.Users.Where(p => p.UserId == warehouse.ManagerId).FirstOrDefault();
                if (warehouseManager != null)
                {
                    warehouseDetail.Manager               = new FrayteCustomerAssociatedUser();
                    warehouseDetail.Manager.UserId        = warehouseManager.UserId;
                    warehouseDetail.Manager.AssociateType = FrayteAssociateType.Manager;
                    warehouseDetail.Manager.ContactName   = warehouseManager.ContactName;
                    warehouseDetail.Manager.Email         = warehouseManager.Email;
                    warehouseDetail.Manager.TelephoneNo   = warehouseManager.TelephoneNo;
                    warehouseDetail.Manager.WorkingHours  = UtilityRepository.GetWorkingHours(warehouseManager.WorkingStartTime, warehouseManager.WorkingEndTime);
                }
                else
                {
                    warehouseDetail.Manager = new FrayteCustomerAssociatedUser();
                }
            }

            return(warehouseDetail);
        }
Пример #4
0
        public List <FrayteWarehouse> GetAllWarehouseList()
        {
            List <FrayteWarehouse> lstFrayteWarehouse = new List <FrayteWarehouse>();

            var lstWarehouse = (from w in dbContext.Warehouses
                                join c in dbContext.Countries on w.CountryId equals c.CountryId
                                join tz in dbContext.Timezones on w.TimeZoneId equals tz.TimezoneId
                                join u in dbContext.Users on w.ManagerId equals u.UserId into tempManager
                                from us in tempManager.DefaultIfEmpty()
                                select new
            {
                w.WarehouseId,
                w.Address,
                w.Address2,
                w.Address3,
                w.City,
                w.State,
                w.Zip,
                w.CountryId,
                c.CountryCode,
                c.CountryName,
                w.LocationName,
                w.LocationLatitude,
                w.LocationMapImage,
                w.ManagerId,
                ManagerName = us.ContactName,
                ManagerEmail = us.Email,
                ManagerTelephone = us.TelephoneNo,
                ManagerStartTime = us.WorkingStartTime,
                ManagerEndTime = us.WorkingEndTime,
                w.Email,
                w.TelephoneNo,
                w.MobileNo,
                w.Fax,
                w.WorkingStartTime,
                w.WorkingEndTime,
                w.TimeZoneId,
                TimeZoneName = tz.Name,
                TimeZoneOffset = tz.Offset,
                TimezoneOffSetShort = tz.OffsetShort
            }).ToList();

            if (lstWarehouse != null)
            {
                foreach (var w in lstWarehouse)
                {
                    FrayteWarehouse frayteWarehouse = new FrayteWarehouse();
                    frayteWarehouse.WarehouseId       = w.WarehouseId;
                    frayteWarehouse.Address           = w.Address;
                    frayteWarehouse.Address2          = w.Address2;
                    frayteWarehouse.Address3          = w.Address3;
                    frayteWarehouse.City              = w.City;
                    frayteWarehouse.State             = w.State;
                    frayteWarehouse.Zip               = w.Zip;
                    frayteWarehouse.Country           = new FrayteCountryCode();
                    frayteWarehouse.Country.CountryId = w.CountryId;
                    frayteWarehouse.Country.Code      = w.CountryCode;
                    frayteWarehouse.Country.Name      = w.CountryName;
                    frayteWarehouse.LocationName      = w.LocationName;
                    frayteWarehouse.LocationMapImage  = w.LocationMapImage;
                    frayteWarehouse.Manager           = new FrayteCustomerAssociatedUser();
                    frayteWarehouse.Manager.UserId    = w.ManagerId.HasValue ? w.ManagerId.Value : 0;
                    if (frayteWarehouse.Manager.UserId > 0)
                    {
                        frayteWarehouse.Manager.ContactName  = w.ManagerName;
                        frayteWarehouse.Manager.Email        = w.ManagerEmail;
                        frayteWarehouse.Manager.TelephoneNo  = w.ManagerTelephone;
                        frayteWarehouse.Manager.WorkingHours = UtilityRepository.GetWorkingHours(w.ManagerStartTime, w.ManagerEndTime);
                    }
                    frayteWarehouse.Email                = w.Email;
                    frayteWarehouse.TelephoneNo          = w.TelephoneNo;
                    frayteWarehouse.MobileNo             = w.MobileNo;
                    frayteWarehouse.Fax                  = w.Fax;
                    frayteWarehouse.WorkingStartTime     = UtilityRepository.GetTimeZoneTime(w.WorkingStartTime, w.TimeZoneName);
                    frayteWarehouse.WorkingEndTime       = UtilityRepository.GetTimeZoneTime(w.WorkingEndTime, w.TimeZoneName);
                    frayteWarehouse.Timezone             = new TimeZoneModal();
                    frayteWarehouse.Timezone.TimezoneId  = w.TimeZoneId;
                    frayteWarehouse.Timezone.Name        = w.TimeZoneName;
                    frayteWarehouse.Timezone.Offset      = w.TimeZoneOffset;
                    frayteWarehouse.Timezone.OffsetShort = w.TimezoneOffSetShort;
                    lstFrayteWarehouse.Add(frayteWarehouse);
                }
            }

            return(lstFrayteWarehouse);
        }