Пример #1
0
        public SchedulingEntity[] GetSchedulingCompany(int companyId, int schedulingId = 0)
        {
            List <SchedulingEntity> arrayOfSchedulingEntity = new List <SchedulingEntity>();

            using (Petz_dbEntities db = new Petz_dbEntities())
            {
                var petScheduling = (from s in db.petz_Pet_Scheduling
                                     join a in db.petz_Company_Address on s.company_address_id equals a.company_address_id
                                     where a.company_id == companyId &&
                                     s.scheduling_date_start >= _filterStart &&
                                     s.scheduling_date_start <= _filterEnd &&
                                     s.scheduling_id == (schedulingId == 0 ? s.scheduling_id : schedulingId)
                                     select new {
                    s.scheduling_id,
                    s.scheduling_comments,
                    s.scheduling_date_start,
                    s.scheduling_date_end,
                    s.pet_id,
                    s.client_id,
                    a.company_id,
                    a.address_id,
                    s.service_id,
                    s.employees_id,
                    s.status_id
                }
                                     ).ToArray();

                foreach (var ps in petScheduling)
                {
                    SchedulingEntity entity = new SchedulingEntity
                    {
                        Id        = ps.scheduling_id,
                        CompanyId = ps.company_id,
                        Comments  = ps.scheduling_comments,
                        DateStart = ps.scheduling_date_start,
                        DateEnd   = ps.scheduling_date_end,
                        AddressId = ps.address_id,
                        Address   = _addressController.GetAddress(ps.address_id),
                        Pet       = _petController.GetPet(ps.pet_id),
                        Client    = _clientController.GetClient(ps.client_id),
                        Status    = _statusController.GetStatusCompany(ps.company_id, ps.status_id),
                        Company   = _companyController.GetCompany(ps.company_id)
                    };


                    if (ps.service_id.HasValue)
                    {
                        entity.Service = _serviceController.GetService(ps.service_id.Value);
                    }
                    if (ps.employees_id.HasValue)
                    {
                        entity.Employee = _companyController.GetEmployees(ps.employees_id.Value);
                    }

                    arrayOfSchedulingEntity.Add(entity);
                }
            }

            return(arrayOfSchedulingEntity.ToArray());
        }
Пример #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Request.QueryString["ID"] != null && Request.QueryString["EventID"] != null)
                {
                    if (CompanyId != Convert.ToInt32(Request.QueryString["ID"]))
                    {
                        return;
                    }

                    int eventId = Convert.ToInt32(Request.QueryString["EventID"]);
                    SchedulingController controller = new SchedulingController();
                    SchedulingEntity     scheduling = controller.GetSchedulingCompany(CompanyId, eventId).FirstOrDefault();
                    if (scheduling != null)
                    {
                        lNomeClient.Text    = scheduling.Client.Name;
                        ClientId            = scheduling.Client.Id.ToString();
                        ltObs.Text          = scheduling.Comments;
                        ltDataPet.Text      = scheduling.DateStart.ToString("dd/MM/yyyy");
                        lHoraInicioPet.Text = scheduling.DateStart.ToString("HH:mm");
                        lHoraFimPet.Text    = scheduling.DateEnd.ToString("HH:mm");

                        if (scheduling.Client.Phones != null && scheduling.Client.Phones.Length > 0)
                        {
                            string[] phones = scheduling.Client.Phones.Select(x => x.Phone).ToArray();
                            lTelefoneClient.Text = string.Join(" | ", phones);
                        }
                        else
                        {
                            lTelefoneClient.Text = "Nenhum telefone";
                        }

                        lNomePet.Text    = scheduling.Pet.ToString();
                        PetId            = scheduling.Pet.Id.ToString();
                        lSexoPet.Text    = scheduling.Pet.Sex == EnumSex.Male ? "M" : "F";
                        lTamanhoPet.Text = scheduling.Pet.Size.ToString();
                        lCorPet.Text     = scheduling.Pet.Color;

                        ltRacaPet.Text = scheduling.Pet.Breed != null?scheduling.Pet.Breed.ToString() : scheduling.Pet.SubSpecies.ToString();

                        ClientRating = Convert.ToInt16(scheduling.Client.Rating);
                    }
                }
            }
            catch (Exception ex)
            {
                Alert(ex);
            }
        }
Пример #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ClearHeaders();
            context.Response.ClearContent();
            context.Response.Clear();
            context.Response.ContentType = "text/calendar";
            int eventId   = Int32.Parse(context.Request.QueryString["EventId"]);
            int companyId = Int32.Parse(context.Request.QueryString["CompanyId"]);

            SchedulingController controller = new SchedulingController();
            SchedulingEntity     scheduling = controller.GetSchedulingCompany(companyId, eventId).FirstOrDefault();

            if (scheduling != null)
            {
                string description = "Informações: " + scheduling.Comments + Environment.NewLine + Environment.NewLine;
                description += description += "Pet: " + scheduling.Pet + Environment.NewLine;
                description += "Sexo: " + (scheduling.Pet.Sex == EnumSex.Male ? "M" : "F") + Environment.NewLine;
                description += "Tamanho: " + scheduling.Pet.Size + Environment.NewLine;
                description += "Raça: " + scheduling.Pet.Breed != null
                    ? scheduling.Pet.Breed.SubSpecies + " | " + scheduling.Pet.Breed.Name
                    : scheduling.Pet.SubSpecies.ToString();
                if (scheduling.Pet.Breed != null || scheduling.Pet.Breed.UrlReference != null)
                {
                    description += Environment.NewLine + "Informações da Raça: " + scheduling.Pet.Breed.UrlReference;
                }
                description += Environment.NewLine + Environment.NewLine;

                description += "Endereço: " + scheduling.Address + Environment.NewLine;
                if (scheduling.Service != null)
                {
                    description += "Serviço: " + scheduling.Service.Name + Environment.NewLine;
                }
                else
                {
                    description += "Serviço: Nenhum selecionado" + Environment.NewLine;
                }
                if (scheduling.Employee != null)
                {
                    description += "Funcionário: " + scheduling.Employee.User.Name + Environment.NewLine;
                }
                else
                {
                    description += "Funcionário: Nenhum Funcionário de preferencia" + Environment.NewLine;
                }



                //http://stackoverflow.com/questions/30661839/generate-and-send-ical-event-to-outlook
                Calendar iCal = new Calendar
                {
                    Method  = "PUBLISH",
                    Version = "2.0"
                };
                Event calendarEvent = iCal.Create <Event>();
                calendarEvent.Summary     = scheduling.Company.Name + " (" + scheduling.Pet.Name + ")";
                calendarEvent.Start       = new CalDateTime(scheduling.DateStart);
                calendarEvent.End         = new CalDateTime(scheduling.DateEnd);
                calendarEvent.Status      = EventStatus.Confirmed;
                calendarEvent.Description = description;
                calendarEvent.Location    = scheduling.Address.ToString();
                calendarEvent.IsAllDay    = false;
                calendarEvent.Uid         = Guid.NewGuid().ToString();
                calendarEvent.Organizer   = scheduling.Company.Email != null
                    ? new Organizer(scheduling.Company.Email)
                    : new Organizer("*****@*****.**");
                calendarEvent.Url = new Uri("http://pet.afonsoft.com.br");
                calendarEvent.Categories.Add("PetShop");

                foreach (var companyPhone in scheduling.Company.Phones)
                {
                    calendarEvent.Contacts.Add(companyPhone.ToString());
                }
                calendarEvent.Comments.Add("Calendário gerado automátio pelo sistema.");
                calendarEvent.Comments.Add("Favor não alteraro ou responde-lo.");

                CalendarSerializer serializer = new CalendarSerializer(iCal);
                string             eventCode  = serializer.SerializeToString(iCal);
                context.Response.Write(eventCode);
            }
        }