add a class in business service

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DataModel.UnitOfWork;
using BusinessEntities;
using System.Transactions;

namespace BusinessServices
{
    public class EventService : IEventService
    {
        private readonly UnitOfWork _unitOfWork;

        /// <summary>
        /// Public constructor.
        /// </summary>
        public EventService()
        {
            _unitOfWork = new UnitOfWork();
        }

        #region Event Part
        /// <summary>
        /// Fetches Post GetBannerById
        /// </summary>
        /// <param name="Event_ID"></param>
        /// <returns></returns>
        public Event GetEventById(int Event_ID)
        {
            var events = _unitOfWork.EventRepository.GetByID(Event_ID);
            if (events != null)
            {
                return events;
            }
            return null;
        }

        /// <summary>
        /// Fetches all the GetAllBanner.
        /// </summary>
        /// <returns></returns>
        public IEnumerable<Event> GetAllEvent()
        {
            var events = _unitOfWork.EventRepository.GetAll().ToList();
            if (events.Any())
            {
                return events;
            }
            return null;
        }

        /// <summary>
        /// Creates a Post
        /// </summary>
        /// <param name="EventEntity"></param>
        /// <returns></returns>
        public Event CreateEvent(Event EventEntity)
        {
            using (var scope = new TransactionScope())
            {
                var Events = new Event
                {

                    Event_Name = EventEntity.Event_Name,
                    Event_Description = EventEntity.Event_Description,
                    Login_User_ID = EventEntity.Login_User_ID,
                    Event_EndDate = EventEntity.Event_EndDate,
                    // Event_Frequency=EventEntity.Event_Frequency,
                    Event_EndTime = EventEntity.Event_EndTime,
                    Event_Owner = EventEntity.Event_Owner,
                    Event_Owner_Email = EventEntity.Event_Owner_Email,
                    Event_Owner_MobileNo = EventEntity.Event_Owner_MobileNo,
                    Event_RecurranceFromDate = EventEntity.Event_RecurranceFromDate,
                    Event_RecurranceToDate = EventEntity.Event_RecurranceToDate,
                    Event_SendNotificationTo = EventEntity.Event_SendNotificationTo,
                    Event_StartDate = EventEntity.Event_StartDate,
                    Event_StartTime = EventEntity.Event_StartTime,
                    Event_Type_ID = EventEntity.Event_Type_ID,
                    Event_Venue=EventEntity.Event_Venue,
                   
                    EventDetails = EventEntity.EventDetails,
                    EventType = EventEntity.EventType,
                    VenuType_ID = EventEntity.VenuType_ID,
                    InsertedBy = EventEntity.InsertedBy,
                    InsertedOn = EventEntity.InsertedOn,
                    //LastModifiedBy = EventEntity.LastModifiedBy,
                    //LastModifiedOn = EventEntity.LastModifiedOn,
                    IsActive = EventEntity.IsActive,
                    IsDelete = EventEntity.IsDelete,


                };
                _unitOfWork.EventRepository.Insert(Events);
                _unitOfWork.Save();
                scope.Complete();
                return Events;
            }
        }

        /// <summary>
        /// Updates a Post
        /// </summary>
        /// <param name="Event_ID"></param>
        /// <param name="EventEntity"></param>
        /// <returns></returns>
        public Event UpdateEvent(int Event_ID, Event EventEntity)
        {
            Event events = null;
            //var success = false;
            if (EventEntity != null)
            {
                using (var scope = new TransactionScope())
                {
                    events = _unitOfWork.EventRepository.GetByID(Event_ID);
                    //events = _unitOfWork.EventDetailsRepository.GetByID(EventDetails_ID);
                    if (events != null)
                    {
                        events.Event_ID = EventEntity.Event_ID;
                        events.Event_Description = EventEntity.Event_Description;
                        events.Event_EndDate = EventEntity.Event_EndDate;
                        events.Event_EndTime = EventEntity.Event_EndTime;
                        events.Event_Name = EventEntity.Event_Name;
                        events.Event_Owner = EventEntity.Event_Owner;
                        events.Event_Owner_Email = EventEntity.Event_Owner_Email;
                        events.Event_Owner_MobileNo = EventEntity.Event_Owner_MobileNo;
                        events.Event_StartDate = EventEntity.Event_StartDate;
                        events.Event_StartTime = EventEntity.Event_StartTime;
                        events.Event_Type_ID = EventEntity.Event_Type_ID;
                        events.Event_Venue = EventEntity.Event_Venue;
                        events.InsertedBy = events.InsertedBy;
                        events.InsertedOn = events.InsertedOn;
                        events.LastModifiedBy = EventEntity.LastModifiedBy;
                        events.LastModifiedOn = EventEntity.LastModifiedOn;
                        events.IsActive = EventEntity.IsActive;
                        events.IsDelete = EventEntity.IsDelete;



                        _unitOfWork.EventRepository.Update(events);
                        _unitOfWork.Save();
                        scope.Complete();
                        //success = true;
                    }
                }
            }
            return events;
        }

        /// <summary>
        /// Deletes a particular Post
        /// </summary>
        /// <param name="CityId"></param>
        /// <returns></returns>
        public bool DeleteEvent(int id)
        {
            var success = false;
            if (id >= 0)
            {
                using (var scope = new TransactionScope())
                {
                    var events = _unitOfWork.EventRepository.GetByID(id);
                    if (events != null)
                    {
                        events.Event_ID = events.Event_ID;
                        events.Event_Description = events.Event_Description;
                        events.Event_EndDate = events.Event_EndDate;
                        events.Event_EndTime = events.Event_EndTime;
                        events.Event_Name = events.Event_Name;
                        events.Event_Owner = events.Event_Owner;
                        events.Event_Owner_Email = events.Event_Owner_Email;
                        events.Event_Owner_MobileNo = events.Event_Owner_MobileNo;
                        events.Event_StartDate = events.Event_StartDate;
                        events.Event_StartTime = events.Event_StartTime;
                        events.Event_Type_ID = events.Event_Type_ID;
                        events.Event_Venue = events.Event_Venue;
                        events.InsertedBy = events.InsertedBy;
                        events.InsertedOn = events.InsertedOn;
                        events.LastModifiedBy = events.LastModifiedBy;
                        events.LastModifiedOn = events.LastModifiedOn;
                        events.IsActive = false;
                        events.IsDelete = true;
                        _unitOfWork.EventRepository.Update(events);
                        _unitOfWork.Save();
                        scope.Complete();
                        success = true;
                    }
                }
            }
            return success;
        }



        #endregion
    }
}

Comments

Popular posts from this blog

Create Schema Using C# Asp .Net Dynamically.

How to set Transaction and Roll Back using Entity Framework in C# Code.

How to post image in blob using Windows Azure.