Exemple #1
0
        public MainResponse DeleteGroupExhibitor(int groupExhibitorId, string actionBy)
        {
            var groupExhibitor = _groupExhibitorRepository.GetSingle(x => x.GroupExhibitorId == groupExhibitorId && x.IsActive == true && x.IsDeleted == false);

            if (groupExhibitor != null)
            {
                groupExhibitor.IsDeleted    = true;
                groupExhibitor.IsActive     = false;
                groupExhibitor.ModifiedBy   = actionBy;
                groupExhibitor.ModifiedDate = DateTime.Now;

                _groupExhibitorRepository.Update(groupExhibitor);

                _mainResponse.Success = true;
                _mainResponse.Message = Constants.GROUP_EXHIBITOR_DELETED;
            }
            else
            {
                _mainResponse.Success = false;
                _mainResponse.Message = Constants.NO_RECORD_FOUND;
            }
            return(_mainResponse);
        }
        public MainResponse AddUpdateExhibitor(ExhibitorRequest request, string actionBy)
        {
            if (request.ExhibitorId <= 0)
            {
                if (request.BackNumber != null)
                {
                    var exhibitorBackNumberExist = _exhibitorRepository.GetSingle(x => x.BackNumber == request.BackNumber && x.IsActive == true && x.IsDeleted == false);
                    if (exhibitorBackNumberExist != null && exhibitorBackNumberExist.ExhibitorId > 0)
                    {
                        _mainResponse.Message = Constants.BACKNUMBER_AlREADY_EXIST;
                        _mainResponse.Success = false;
                        return(_mainResponse);
                    }
                }

                var address = new Addresses
                {
                    Address     = request.Address,
                    CityId      = request.CityId,
                    ZipCodeId   = request.ZipCodeId,
                    CreatedBy   = actionBy,
                    CreatedDate = DateTime.Now
                };

                var _address = _addressRepository.Add(address);

                var exhibitor = new Exhibitors
                {
                    AddressId      = _address.AddressId,
                    FirstName      = request.FirstName,
                    LastName       = request.LastName,
                    BackNumber     = request.BackNumber,
                    BirthYear      = request.BirthYear,
                    IsNSBAMember   = request.IsNSBAMember,
                    IsDoctorNote   = request.IsDoctorNote,
                    QTYProgram     = request.QTYProgram,
                    PrimaryEmail   = request.PrimaryEmail,
                    SecondaryEmail = request.SecondaryEmail,
                    Phone          = request.Phone,
                    Date           = request.Date,
                    CreatedBy      = actionBy,
                    CreatedDate    = DateTime.Now,
                    IsActive       = true,
                    IsDeleted      = false
                };

                var _exhibitor = _exhibitorRepository.Add(exhibitor);

                if (request.GroupId > 0)
                {
                    var groupExhibitor = new GroupExhibitors
                    {
                        ExhibitorId = _exhibitor.ExhibitorId,
                        GroupId     = request.GroupId,
                        CreatedBy   = actionBy,
                        CreatedDate = DateTime.Now,
                        IsActive    = true,
                        IsDeleted   = false
                    };
                    var _groupExhibitor = _groupExhibitorRepository.Add(groupExhibitor);
                }

                if (_exhibitor != null && _exhibitor.ExhibitorId > 0 && request.exhibitorStallAssignmentRequests != null && request.exhibitorStallAssignmentRequests.Count > 0)
                {
                    StallAssignment stallAssignment;
                    foreach (var item in request.exhibitorStallAssignmentRequests)
                    {
                        stallAssignment         = new StallAssignment();
                        stallAssignment.StallId = item.SelectedStallId;
                        stallAssignment.StallAssignmentTypeId = item.StallAssignmentTypeId;
                        stallAssignment.GroupId      = 0;
                        stallAssignment.ExhibitorId  = _exhibitor.ExhibitorId;
                        stallAssignment.BookedByType = "Exhibitor";
                        stallAssignment.IsActive     = true;
                        stallAssignment.IsDeleted    = false;
                        stallAssignment.CreatedDate  = DateTime.Now;
                        stallAssignment.Date         = item.StallAssignmentDate;
                        _stallAssignmentRepository.Add(stallAssignment);
                    }
                }

                _mainResponse.Message = Constants.RECORD_ADDED_SUCCESS;
                _mainResponse.NewId   = _exhibitor.ExhibitorId;
                _mainResponse.Success = true;
            }
            else
            {
                if (request.BackNumber != null)
                {
                    var backNumber = _exhibitorRepository.GetSingle(x => x.ExhibitorId == request.ExhibitorId && x.BackNumber == request.BackNumber && x.IsActive == true && x.IsDeleted == false);
                    if (backNumber == null)
                    {
                        var exhibitorBackNumberExist = _exhibitorRepository.GetSingle(x => x.BackNumber == request.BackNumber && x.IsActive == true && x.IsDeleted == false);
                        if (exhibitorBackNumberExist != null && exhibitorBackNumberExist.ExhibitorId > 0)
                        {
                            _mainResponse.Message = Constants.BACKNUMBER_AlREADY_EXIST;
                            _mainResponse.Success = false;
                            return(_mainResponse);
                        }
                    }
                }

                var exhibitor = _exhibitorRepository.GetSingle(x => x.ExhibitorId == request.ExhibitorId && x.IsActive == true && x.IsDeleted == false);

                if (exhibitor != null && exhibitor.ExhibitorId > 0)
                {
                    exhibitor.FirstName      = request.FirstName;
                    exhibitor.LastName       = request.LastName;
                    exhibitor.BackNumber     = request.BackNumber;
                    exhibitor.BirthYear      = request.BirthYear;
                    exhibitor.IsNSBAMember   = request.IsNSBAMember;
                    exhibitor.IsDoctorNote   = request.IsDoctorNote;
                    exhibitor.QTYProgram     = request.QTYProgram;
                    exhibitor.PrimaryEmail   = request.PrimaryEmail;
                    exhibitor.SecondaryEmail = request.SecondaryEmail;
                    exhibitor.Phone          = request.Phone;
                    exhibitor.ModifiedDate   = DateTime.Now;
                    exhibitor.ModifiedBy     = actionBy;
                    _exhibitorRepository.Update(exhibitor);
                    _mainResponse.Message = Constants.RECORD_UPDATE_SUCCESS;
                    _mainResponse.NewId   = request.ExhibitorId;
                    _mainResponse.Success = true;

                    var address = _addressRepository.GetSingle(x => x.AddressId == request.AddressId && x.IsActive == true && x.IsDeleted == false);
                    if (address != null && address.AddressId > 0)
                    {
                        address.Address      = request.Address;
                        address.CityId       = request.CityId;
                        address.ZipCodeId    = request.ZipCodeId;
                        address.ModifiedBy   = actionBy;
                        address.ModifiedDate = DateTime.Now;
                        _addressRepository.Update(address);
                    }

                    var stalls = _stallAssignmentRepository.RemoveAllExhibitorAssignedStalls(exhibitor.ExhibitorId);


                    if (request.exhibitorStallAssignmentRequests != null && request.exhibitorStallAssignmentRequests.Count > 0)
                    {
                        foreach (var assignment in request.exhibitorStallAssignmentRequests)
                        {
                            StallAssignment stallAssignment = new StallAssignment();
                            stallAssignment.StallId = assignment.SelectedStallId;
                            stallAssignment.StallAssignmentTypeId = assignment.StallAssignmentTypeId;
                            stallAssignment.GroupId      = 0;
                            stallAssignment.ExhibitorId  = exhibitor.ExhibitorId;
                            stallAssignment.BookedByType = "Exhibitor";
                            stallAssignment.IsActive     = true;
                            stallAssignment.IsDeleted    = false;
                            stallAssignment.CreatedDate  = DateTime.Now;
                            stallAssignment.Date         = assignment.StallAssignmentDate;
                            _stallAssignmentRepository.Add(stallAssignment);
                        }
                    }

                    if (request.GroupId > 0)
                    {
                        var groupExhibitor = _groupExhibitorRepository.GetSingle(x => x.ExhibitorId == exhibitor.ExhibitorId);
                        if (groupExhibitor != null && groupExhibitor.GroupExhibitorId > 0)
                        {
                            groupExhibitor.GroupId      = request.GroupId;
                            groupExhibitor.ModifiedBy   = actionBy;
                            groupExhibitor.ModifiedDate = DateTime.Now;
                            _groupExhibitorRepository.Update(groupExhibitor);
                        }
                        else
                        {
                            var group = new GroupExhibitors
                            {
                                GroupId     = request.GroupId,
                                ExhibitorId = request.ExhibitorId,
                                CreatedBy   = actionBy,
                                CreatedDate = DateTime.Now
                            };
                            _groupExhibitorRepository.Add(group);
                        }
                    }
                    else
                    {
                        var groupExhibitor = _groupExhibitorRepository.GetSingle(x => x.ExhibitorId == exhibitor.ExhibitorId);
                        if (groupExhibitor != null && groupExhibitor.GroupExhibitorId > 0)
                        {
                            groupExhibitor.IsActive  = false;
                            groupExhibitor.IsDeleted = true;
                            _groupExhibitorRepository.Update(groupExhibitor);
                        }
                    }
                }
                else
                {
                    _mainResponse.Message = Constants.NO_RECORD_EXIST_WITH_ID;
                    _mainResponse.Success = false;
                }
            }
            return(_mainResponse);
        }