Example #1
0
        public async Task <HttpResponseMessage> Select(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                MT_Notifications notification = new MT_Notifications();
                Query            ObjQuery     = Db.Collection("MT_Notifications").WhereEqualTo("NFT_Is_Deleted", false).WhereEqualTo("NFT_Is_Active", true).WhereEqualTo("NFT_Unique_ID", NSMD.NFT_Unique_ID);
                QuerySnapshot    ObjQuerySnap = await ObjQuery.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    notification     = ObjQuerySnap.Documents[0].ConvertTo <MT_Notifications>();
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = notification;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #2
0
        public async Task <HttpResponseMessage> DeleteAssignedNotification(MT_Virtual_Consultant_Booking VCMD)
        {
            Db = con.SurgeryCenterDb(VCMD.Slug);
            VCBookingResponse Response = new VCBookingResponse();

            try
            {
                MT_Notifications Notification          = new MT_Notifications();
                MT_Virtual_Consultant_Booking Booking  = new MT_Virtual_Consultant_Booking();
                List <MT_Notifications>       NotiList = new List <MT_Notifications>();
                Query         Qry          = Db.Collection("MT_Virtual_Consultant_Booking").WhereEqualTo("VCB_Unique_ID", VCMD.VCB_Unique_ID).WhereEqualTo("VCB_Is_Deleted", false).WhereEqualTo("VCB_Is_Active", true);
                QuerySnapshot ObjQuerySnap = await Qry.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    Booking = ObjQuerySnap.Documents[0].ConvertTo <MT_Virtual_Consultant_Booking>();
                    if (VCMD.VCB_Notifications_Array != null && Booking.VCB_Notifications != null)
                    {
                        foreach (MT_Notifications noti in Booking.VCB_Notifications)
                        {
                            if (VCMD.VCB_Notifications_Array.Contains <string>(noti.NFT_Unique_ID) == false)
                            {
                                NotiList.Add(noti);
                            }
                        }
                    }
                }

                Dictionary <string, object> initialData = new Dictionary <string, object>
                {
                    { "VCB_Modify_Date", con.ConvertTimeZone(VCMD.VCB_TimeZone, Convert.ToDateTime(VCMD.VCB_Modify_Date)) },
                    { "VCB_TimeZone", VCMD.VCB_TimeZone },
                    { "VCB_Notifications", NotiList }
                };


                //Main section
                DocumentReference docRef = Db.Collection("MT_Virtual_Consultant_Booking").Document(VCMD.VCB_Unique_ID);
                WriteResult       Result = await docRef.UpdateAsync(initialData);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = VCMD;
                }
                else
                {
                    Response.Status  = con.StatusNotInsert;
                    Response.Message = con.MessageNotInsert;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #3
0
        public async Task <HttpResponseMessage> GetNotiListFilterWithPO(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                List <MT_Notifications> NotiList = new List <MT_Notifications>();
                Query         ObjQuery           = Db.Collection("MT_Notifications").WhereEqualTo("NFT_Is_Deleted", false).WhereEqualTo("NFT_Is_Active", true).WhereEqualTo("NFT_Surgery_Physician_Id", NSMD.NFT_Surgery_Physician_Id).OrderByDescending("NFT_Create_Date");
                QuerySnapshot ObjQuerySnap       = await ObjQuery.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    foreach (DocumentSnapshot Docsnap in ObjQuerySnap.Documents)
                    {
                        NotiList.Add(Docsnap.ConvertTo <MT_Notifications>());
                    }
                    Response.Status   = con.StatusSuccess;
                    Response.Message  = con.MessageSuccess;
                    Response.DataList = NotiList;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #4
0
        public async Task <HttpResponseMessage> DeleteAction(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                List <Notification_Action> ActionList = new List <Notification_Action>();
                Query         ObjQuery     = Db.Collection("MT_Notifications").WhereEqualTo("NFT_Is_Deleted", false).WhereEqualTo("NFT_Is_Active", true).WhereEqualTo("NFT_Unique_ID", NSMD.NFT_Unique_ID);
                QuerySnapshot ObjQuerySnap = await ObjQuery.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    MT_Notifications noti = ObjQuerySnap.Documents[0].ConvertTo <MT_Notifications>();
                    if (noti.NFT_Actions != null)
                    {
                        foreach (Notification_Action action in noti.NFT_Actions)
                        {
                            if (action.NFA_Unique_ID != NSMD.NFT_Actions[0].NFA_Unique_ID)
                            {
                                ActionList.Add(action);
                            }
                        }
                    }
                }

                Dictionary <string, object> initialData = new Dictionary <string, object>
                {
                    { "NFT_Actions", ActionList },
                };

                DocumentReference docRef = Db.Collection("MT_Notifications").Document(NSMD.NFT_Unique_ID);
                WriteResult       Result = await docRef.UpdateAsync(initialData);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = NSMD;
                }
                else
                {
                    Response.Status  = con.StatusNotInsert;
                    Response.Message = con.MessageNotInsert;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #5
0
        public async Task <HttpResponseMessage> Update(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                List <Notification_Action>  ActionList  = new List <Notification_Action>();
                Dictionary <string, object> initialData = new Dictionary <string, object>
                {
                    { "NFT_Category_ID", NSMD.NFT_Category_ID },
                    { "NFT_Category_Name", NSMD.NFT_Category_Name },
                    { "NFT_Category_Type_ID", NSMD.NFT_Category_Type_ID },
                    { "NFT_Category_Type_Name", NSMD.NFT_Category_Type_Name },
                    { "NFT_Name", NSMD.NFT_Name },
                    { "NFT_Description", NSMD.NFT_Description },
                    { "NFT_Modify_Date", con.ConvertTimeZone(NSMD.NFT_TimeZone, Convert.ToDateTime(NSMD.NFT_Modify_Date)) },
                    { "NFT_TimeZone", NSMD.NFT_TimeZone }
                };

                DocumentReference docRef = Db.Collection("MT_Notifications").Document(NSMD.NFT_Unique_ID);
                WriteResult       Result = await docRef.UpdateAsync(initialData);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = NSMD;
                }
                else
                {
                    Response.Status  = con.StatusNotInsert;
                    Response.Message = con.MessageNotInsert;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #6
0
        public async Task <HttpResponseMessage> SelectAction(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                List <Notification_Action> ActionList = new List <Notification_Action>();
                Query         ObjQuery     = Db.Collection("MT_Notifications").WhereEqualTo("NFT_Is_Deleted", false).WhereEqualTo("NFT_Is_Active", true).WhereEqualTo("NFT_Unique_ID", NSMD.NFT_Unique_ID);
                QuerySnapshot ObjQuerySnap = await ObjQuery.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    MT_Notifications noti = ObjQuerySnap.Documents[0].ConvertTo <MT_Notifications>();
                    if (noti.NFT_Actions != null)
                    {
                        foreach (Notification_Action action in noti.NFT_Actions)
                        {
                            if (action.NFA_Unique_ID == NSMD.NFT_Actions[0].NFA_Unique_ID)
                            {
                                ActionList.Add(action);
                            }
                        }
                    }
                    noti.NFT_Actions = ActionList;
                    Response.Data    = noti;
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
Example #7
0
        public async Task <HttpResponseMessage> CreateAsync(MT_Notifications NSMD)
        {
            Db = con.SurgeryCenterDb(NSMD.Slug);
            NotificationsResponse Response = new NotificationsResponse();

            try
            {
                List <Notification_Action> ActionList = new List <Notification_Action>();
                UniqueID             = con.GetUniqueKey();
                NSMD.NFT_Unique_ID   = UniqueID;
                NSMD.NFT_Create_Date = con.ConvertTimeZone(NSMD.NFT_TimeZone, Convert.ToDateTime(NSMD.NFT_Create_Date));
                NSMD.NFT_Modify_Date = con.ConvertTimeZone(NSMD.NFT_TimeZone, Convert.ToDateTime(NSMD.NFT_Modify_Date));
                NSMD.NFT_Actions     = ActionList;
                DocumentReference docRef = Db.Collection("MT_Notifications").Document(UniqueID);
                WriteResult       Result = await docRef.SetAsync(NSMD);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = NSMD;
                }
                else
                {
                    Response.Status  = con.StatusNotInsert;
                    Response.Message = con.MessageNotInsert;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }