public MainResponse AddUpdateGroup(GroupRequest request) { if (request.GroupId == null || request.GroupId <= 0) { var checkexist = _GroupRepository.GetSingle(x => x.GroupName == request.GroupName && x.IsActive == true && x.IsDeleted == false); if (checkexist != null && checkexist.GroupId > 0) { _mainResponse.Message = Constants.NAME_ALREADY_EXIST; _mainResponse.Success = false; return(_mainResponse); } var addressEntity = new Addresses { Address = request.Address, StateId = request.StateId, City = request.City, ZipCode = request.ZipCode, CreatedDate = DateTime.Now, IsActive = true, IsDeleted = false, }; var address = _AddressRepository.Add(addressEntity); var Group = new Groups { GroupName = request.GroupName, ContactName = request.ContactName, Phone = request.Phone, Email = request.Email, AmountReceived = request.AmountReceived, AddressId = address != null ? address.AddressId : 0, CreatedDate = DateTime.Now, IsActive = true, IsDeleted = false, }; var Data = _GroupRepository.Add(Group); if (Data != null && Data.GroupId > 0 && request.groupStallAssignmentRequests != null && request.groupStallAssignmentRequests.Count > 0) { StallAssignment stallAssignment; foreach (var item in request.groupStallAssignmentRequests) { stallAssignment = new StallAssignment(); stallAssignment.StallId = item.SelectedStallId; stallAssignment.StallAssignmentTypeId = item.StallAssignmentTypeId; stallAssignment.GroupId = Data.GroupId; stallAssignment.ExhibitorId = 0; stallAssignment.BookedByType = "Group"; stallAssignment.IsActive = true; stallAssignment.IsDeleted = false; stallAssignment.CreatedDate = DateTime.Now; stallAssignment.Date = item.StallAssignmentDate; _stallAssignmentRepository.Add(stallAssignment); } } _mainResponse.Message = Constants.RECORD_ADDED_SUCCESS; _mainResponse.Success = true; _mainResponse.NewId = Data.GroupId; newIdResponse.NewId = Data.GroupId; _mainResponse.BaseResponse = newIdResponse; } else { var Group = _GroupRepository.GetSingle(x => x.GroupId == request.GroupId && x.IsActive == true && x.IsDeleted == false); if (Group != null && Group.GroupId > 0) { Group.GroupName = request.GroupName; Group.ContactName = request.ContactName; Group.Phone = request.Phone; Group.Email = request.Email; Group.AmountReceived = request.AmountReceived; Group.ModifiedDate = DateTime.Now; _GroupRepository.Update(Group); var address = _AddressRepository.GetSingle(x => x.AddressId == Group.AddressId && x.IsActive == true && x.IsDeleted == false); if (address != null && address.AddressId > 0) { address.Address = request.Address; address.StateId = request.StateId; address.City = request.City; address.ZipCode = request.ZipCode; address.ModifiedDate = DateTime.Now; _AddressRepository.Update(address); } var stalls = _stallAssignmentRepository.RemoveAllGroupAssignedStalls(Group.GroupId); if (request.groupStallAssignmentRequests != null && request.groupStallAssignmentRequests.Count > 0) { foreach (var assignment in request.groupStallAssignmentRequests) { StallAssignment stallAssignment = new StallAssignment(); stallAssignment.StallId = assignment.SelectedStallId; stallAssignment.StallAssignmentTypeId = assignment.StallAssignmentTypeId; stallAssignment.GroupId = Group.GroupId; stallAssignment.ExhibitorId = 0; stallAssignment.BookedByType = "Group"; stallAssignment.IsActive = true; stallAssignment.IsDeleted = false; stallAssignment.CreatedDate = DateTime.Now; stallAssignment.Date = assignment.StallAssignmentDate; _stallAssignmentRepository.Add(stallAssignment); } } _mainResponse.Message = Constants.RECORD_UPDATE_SUCCESS; _mainResponse.Success = true; _mainResponse.NewId = Convert.ToInt32(request.GroupId); newIdResponse.NewId = Convert.ToInt32(request.GroupId); _mainResponse.BaseResponse = newIdResponse; } else { _mainResponse.Message = Constants.NO_RECORD_EXIST_WITH_ID; _mainResponse.Success = false; } } 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); }