//Returns month wise Campaign and coupon message as per client public static List<MessageSentCountDTO> GetMonthWiseCampaignAndCouponMsssageSentCount(int ClientId) { string From = CommonService.FirstDayOfMonth(System.DateTime.Now.Date); string To = CommonService.LastDayOfMonth(Convert.ToDateTime(From)); int MaxTo = 6; int CampaignSMSCount = 0; int EcouponCampaignSMSCount = 0; List<MessageSentCountDTO> MessageSentCountDTOList = new List<MessageSentCountDTO>(); try { for (MaxTo = 1; MaxTo <= 6; MaxTo++) { UnitOfWork uow = new UnitOfWork(); IEnumerable<Campaign> Campaign = uow.CampaignRepo.GetAll().Where(e => e.ClientId == ClientId && e.Status == CampaignStatus.Sent && (e.CreatedDate >= Convert.ToDateTime(From) && e.CreatedDate <= Convert.ToDateTime(To)) && (e.ScheduledDate >= Convert.ToDateTime(From) && e.ScheduledDate <= Convert.ToDateTime(To))); //e.IsSent == true IEnumerable<EcouponCampaign> EcouponCampaign = uow.EcouponCampaignRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsSent == true && (e.SendOn >= Convert.ToDateTime(From) && e.SendOn <= Convert.ToDateTime(To)) && (e.CreatedDate >= Convert.ToDateTime(From) && e.CreatedDate <= Convert.ToDateTime(To))); MessageSentCountDTO MessageSentCountDTO = new MessageSentCountDTO(); if (MaxTo == 1) { MessageSentCountDTO.Days = "Current Month"; } else { DateTime month = Convert.ToDateTime(From); //MessageSentCountDTO.Days = Convert.ToDateTime(From).Month.ToString(); MessageSentCountDTO.Days = month.ToString("MMMMMMM"); } foreach (var item in Campaign) { CampaignSMSCount = CampaignSMSCount + item.RecipientsCount; MessageSentCountDTO.CampaignCount = CampaignSMSCount; } foreach (var item in EcouponCampaign) { EcouponCampaignSMSCount = EcouponCampaignSMSCount + item.RecipientsCount; MessageSentCountDTO.EcouponCampaignCount = EcouponCampaignSMSCount; } MessageSentCountDTO.TotalCount = MessageSentCountDTO.EcouponCampaignCount + MessageSentCountDTO.CampaignCount; MessageSentCountDTOList.Add(MessageSentCountDTO); EcouponCampaignSMSCount = 0; CampaignSMSCount = 0; From = Convert.ToDateTime(From).AddMonths(-1).ToString(); To = Convert.ToDateTime(To).AddMonths(-1).ToString(); From = CommonService.FirstDayOfMonth(Convert.ToDateTime(From)); To = CommonService.LastDayOfMonth(Convert.ToDateTime(From)); } return MessageSentCountDTOList; } catch { throw; } }
//Returns day wise Campaign and coupon message as per client public static List<MessageSentCountDTO> GetDayWiseCampaignAndCouponMsssageSentCount(int ClientId) { int From = 0; int To = 30; int MaxTo = 360; int CampaignSMSCount = 0; int EcouponCampaignSMSCount = 0; List<MessageSentCountDTO> MessageSentCountDTOList = new List<MessageSentCountDTO>(); try { for (To = 30; To <= MaxTo; To = To + 30) { int Fromdays = From; if (From != 0) { Fromdays = -From; } int Todays = -To; UnitOfWork uow = new UnitOfWork(); IEnumerable<Campaign> Campaign = uow.CampaignRepo.GetAll().Where(e => e.ClientId == ClientId && e.Status == CampaignStatus.Sent && e.CreatedDate > System.DateTime.Now.Date.AddDays(Todays) && e.CreatedDate < System.DateTime.Now.Date.AddDays(Fromdays)).OrderByDescending(e => e.Id); //e.IsSent == true|| e.ScheduledDate > System.DateTime.Now.AddDays(-Todays) && e.ScheduledDate < System.DateTime.Now.AddDays(Fromdays) IEnumerable<EcouponCampaign> EcouponCampaign = uow.EcouponCampaignRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsSent == true && e.SendOn > System.DateTime.Now.Date.AddDays(Todays) && e.SendOn < System.DateTime.Now.Date.AddDays(Fromdays)); MessageSentCountDTO MessageSentCountDTO = new MessageSentCountDTO(); MessageSentCountDTO.Days = From + " To " + To; foreach (var item in Campaign) { CampaignSMSCount = CampaignSMSCount + item.RecipientsCount; MessageSentCountDTO.CampaignCount = CampaignSMSCount; } foreach (var item in EcouponCampaign) { EcouponCampaignSMSCount = EcouponCampaignSMSCount + item.RecipientsCount; MessageSentCountDTO.EcouponCampaignCount = EcouponCampaignSMSCount; } MessageSentCountDTO.TotalCount = MessageSentCountDTO.EcouponCampaignCount + MessageSentCountDTO.CampaignCount; MessageSentCountDTOList.Add(MessageSentCountDTO); EcouponCampaignSMSCount = 0; CampaignSMSCount = 0; if (To == 30) { From = From + To + 1; } else { From = From + 30; } } return MessageSentCountDTOList; } catch { throw; } }
//Get day wise ecoupon campaign message count list public static List<MessageSentCountDTO> GetDayWiseEcouponCampaignMsssageSentCount(int ClientId) { int From = 0; int To = 30; int MaxTo = 360; int SMSCount = 0; List<MessageSentCountDTO> MessageSentCountDTOList = new List<MessageSentCountDTO>(); try { for (To = 30; To <= MaxTo; To = To + 30) { int Fromdays = From; if (From != 0) { Fromdays = -From; } int Todays = -To; UnitOfWork uow = new UnitOfWork(); IEnumerable<EcouponCampaign> EcouponCampaign = uow.EcouponCampaignRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsSent == true && e.SendOn > System.DateTime.Now.Date.AddDays(Todays) && e.SendOn < System.DateTime.Now.Date.AddDays(Fromdays)); MessageSentCountDTO MessageSentCountDTO = new MessageSentCountDTO(); MessageSentCountDTO.Days = From + " To " + To; foreach (var item in EcouponCampaign) { SMSCount = SMSCount + item.RecipientsCount; MessageSentCountDTO.EcouponCampaignCount = SMSCount; } MessageSentCountDTOList.Add(MessageSentCountDTO); From = From + To + 1; } return MessageSentCountDTOList; } catch { throw; } }