Ejemplo n.º 1
0
        public ActionResult GetDataCalendar(BoardCalendar data)
        {
            Api API = new Api();
            Dictionary <string, string> arg = new Dictionary <string, string>()
            {
                { "String1", JsonConvert.SerializeObject(data) },
            };

            ViewBag.Calendar = API.Post <BoardCalendar>("Calendar/GetDataCalendar", arg);

            return(PartialView("_BoardCalendarPartial"));
        }
Ejemplo n.º 2
0
        public BoardCalendar GetAllCalendar(BoardCalendar data)
        {
            try
            {
                data.FechaFin = data.FechaFin.Value.AddHours(24);
                BoardCalendar _BoardCalendar  = new BoardCalendar();
                string        filterPacient   = data.PacientName == "" ? null : data.PacientName;
                string        filterDocNumber = data.DocNumber == "" ? null : data.DocNumber;
                var           List            = (from cal in ctx.Calendar
                                                 join sys in ctx.SystemUser on cal.i_InsertUserId equals sys.i_SystemUserId
                                                 join per in ctx.Person on cal.v_PersonId equals per.v_PersonId
                                                 join ser in ctx.Service on cal.v_ServiceId equals ser.v_ServiceId
                                                 join org in ctx.Organization on new { a = ser.v_OrganizationId }
                                                 equals new { a = org.v_OrganizationId } into org_join
                                                 from org in org_join.DefaultIfEmpty()
                                                 join sysp3 in ctx.SystemParameter on new { a = cal.i_ServiceId.Value, b = 119 } equals new { a = sysp3.i_ParameterId, b = sysp3.i_GroupId }
                                                 join sysp4 in ctx.SystemParameter on new { a = cal.i_NewContinuationId.Value, b = 121 } equals new { a = sysp4.i_ParameterId, b = sysp4.i_GroupId }
                                                 join sysp5 in ctx.SystemParameter on new { a = cal.i_CalendarStatusId.Value, b = 122 } equals new { a = sysp5.i_ParameterId, b = sysp5.i_GroupId }
                                                 join pro in ctx.Protocol on new { a = ser.v_ProtocolId }
                                                 equals new { a = pro.v_ProtocolId } into pro_join
                                                 from pro in pro_join.DefaultIfEmpty()
                                                 join sysp7 in ctx.SystemParameter on new { a = pro.i_EsoTypeId.Value, b = 118 }
                                                 equals new { a = sysp7.i_ParameterId, b = sysp7.i_GroupId } into sysp7_join
                                                 from sysp7 in sysp7_join.DefaultIfEmpty()
                                                 join sysp9 in ctx.SystemParameter on new { a = ser.i_AptitudeStatusId.Value, b = 124 } equals new { a = sysp9.i_ParameterId, b = sysp9.i_GroupId }
                                                 join org2 in ctx.Organization on new { a = pro.v_CustomerOrganizationId }
                                                 equals new { a = org2.v_OrganizationId } into org2_join
                                                 from org2 in org2_join.DefaultIfEmpty()

                                                 join loc in ctx.Location on new { a = pro.v_CustomerOrganizationId, b = pro.v_CustomerLocationId }
                                                 equals new { a = loc.v_OrganizationId, b = loc.v_LocationId } into loc_join
                                                 from loc in loc_join.DefaultIfEmpty()

                                                 join gro in ctx.GroupOccupation on pro.v_GroupOccupationId equals gro.v_GroupOccupationId
                                                 join src in ctx.ServiceComponent on ser.v_ServiceId equals src.v_ServiceId
                                                 where cal.d_DateTimeCalendar.Value > data.FechaInicio.Value && cal.d_DateTimeCalendar.Value < data.FechaFin.Value &&
                                                 (per.v_DocNumber.Contains(filterDocNumber) || filterDocNumber == null) && (cal.i_ServiceId == data.MasterService || data.MasterService == -1) &&
                                                 (cal.i_NewContinuationId == data.Modalidad || data.Modalidad == -1) && (cal.i_LineStatusId == data.Cola || data.Cola == -1) &&
                                                 (cal.i_IsVipId == data.Vip || data.Vip == -1) &&
                                                 (cal.i_CalendarStatusId == data.EstadoCita || data.EstadoCita == -1) &&
                                                 (per.v_FirstName.Contains(filterPacient) || per.v_FirstLastName.Contains(filterPacient) || per.v_SecondLastName.Contains(filterPacient) || filterPacient == null) &&
                                                 src.i_IsDeleted == (int)SiNo.No && cal.i_IsDeleted == (int)SiNo.No && src.i_IsRequiredId == (int)SiNo.Si && per.i_IsDeleted == (int)SiNo.No
                                                 select new CalendarCustom
                {
                    v_Pacient = per.v_FirstLastName + "  " + per.v_SecondLastName + ", " + per.v_FirstName,
                    v_PersonId = per.v_PersonId,
                    v_CalendarId = cal.v_CalendarId,
                    v_ServiceId = ser.v_ServiceId,
                    d_DateTimeCalendar = cal.d_DateTimeCalendar,
                    v_DocNumber = per.v_DocNumber,
                    d_SalidaCM = cal.d_SalidaCM,
                    v_AptitudeStatusName = sysp9.v_Value1,
                    v_ServiceName = sysp3.v_Value1,
                    v_NewContinuationName = sysp4.v_Value1,
                    v_EsoTypeName = sysp7.v_Value1,
                    v_CalendarStatusName = sysp5.v_Value1,
                    v_CreationUser = sys.v_UserName,
                    v_OrganizationLocationProtocol = org2.v_Name + " / " + loc.v_Name,
                    v_WorkingOrganizationName = org2.v_Name,
                    d_EntryTimeCM = cal.d_EntryTimeCM,
                    d_Birthdate = per.d_Birthdate,
                    GESO = gro.v_Name,
                    PrecioTotalProtocolo = src.r_Price,
                    v_ProtocolName = pro.v_Name,
                    Puesto = per.v_CurrentOccupation,
                    Nombres = per.v_FirstName,
                    ApeMaterno = per.v_SecondLastName,
                    ApePaterno = per.v_FirstLastName,
                    i_MasterServiceId = ser.i_MasterServiceId.Value,
                    //i_MedicoTratanteId = ser.i_MedicoTratanteId.Value,
                    v_ProtocolId = pro.v_ProtocolId,
                    v_OrganizationId = org.v_OrganizationId,
                    RucEmpFact = org.v_IdentificationNumber,
                    i_ServiceTypeId = cal.i_ServiceTypeId.Value,
                }).OrderBy(x => x.v_CalendarId).ToList();

                int skip    = (data.Index - 1) * data.Take;
                var results = (from p in List
                               group p by p.v_CalendarId into grupo
                               select new {
                    Precio = grupo.Sum(x => x.PrecioTotalProtocolo),
                    Id = grupo.Key
                }).ToList();


                var ListCalendar = List.GroupBy(g => g.v_CalendarId).Select(s => s.First()).ToList();

                foreach (var obj in results)
                {
                    ListCalendar.Find(x => x.v_CalendarId == obj.Id).PrecioTotalProtocolo = obj.Precio;
                }

                data.TotalRecords = ListCalendar.Count;

                if (data.Take > 0)
                {
                    ListCalendar = ListCalendar.Skip(skip).Take(data.Take).ToList();
                }

                ListCalendar.ForEach(x => x.i_Edad = GetEdad(x.d_Birthdate.Value));
                data.List = ListCalendar;
                return(data);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
 public BoardCalendar GetDataCalendar(BoardCalendar data)
 {
     return(_CalendarDAL.GetAllCalendar(data));
 }