public async Task <EquipmentResponse> GetEquipment(PageFilter filter)
        {
            EquipmentResponse _response = new EquipmentResponse();

            try
            {
                List <EquipmentEntity> results = await _context.Equipment.Where(x => x.IsDeleted == false).OrderByDynamic(filter.Column, filter.Descending).Skip(filter.Index * filter.Count).Take(filter.Count).ToListAsync();

                _response.Code      = "E000";
                _response.Message   = _localizer["success"];
                _response.DataCount = await _context.Equipment.Where(x => x.IsDeleted == false).CountAsync();

                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results.AddRange(results);
            }
            catch (Exception)
            {
                _response.Code         = "E999";
                _response.Message      = _localizer["error"];
                _response.DataCount    = 0;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results      = null;
            }
            return(_response);
        }
        //[Authorize(Roles ="SAdmin")]
        public async Task <HttpResponseMessage> GetDeletedList(MT_Equipment EMD)
        {
            Db = con.SurgeryCenterDb(EMD.Slug);
            EquipmentResponse Response = new EquipmentResponse();

            try
            {
                List <MT_Equipment> AnesList = new List <MT_Equipment>();
                Query         docRef         = Db.Collection("MT_Equipment").WhereEqualTo("Equip_Is_Deleted", true);
                QuerySnapshot ObjQuerySnap   = await docRef.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    foreach (DocumentSnapshot Docsnapshot in ObjQuerySnap.Documents)
                    {
                        AnesList.Add(Docsnapshot.ConvertTo <MT_Equipment>());
                    }
                    Response.DataList = AnesList.OrderBy(o => o.Equip_Name).ToList();
                }
                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));
        }
        //[Authorize(Roles = "Admin")]
        public async Task <HttpResponseMessage> Select(MT_Equipment EMD)
        {
            Db = con.SurgeryCenterDb(EMD.Slug);
            EquipmentResponse Response = new EquipmentResponse();

            try
            {
                MT_Equipment  Equip        = new MT_Equipment();
                Query         docRef       = Db.Collection("MT_Equipment").WhereEqualTo("Equip_Unique_ID", EMD.Equip_Unique_ID).WhereEqualTo("Equip_Is_Deleted", false);
                QuerySnapshot ObjQuerySnap = await docRef.GetSnapshotAsync();

                if (ObjQuerySnap != null)
                {
                    Equip         = ObjQuerySnap.Documents[0].ConvertTo <MT_Equipment>();
                    Response.Data = Equip;
                }
                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));
        }
示例#4
0
        public static async Task <EquipmentResponse> DeleteTelematicsNode(int nodeId)
        {
            TelematicsV2      telematicsV2 = new TelematicsV2(publicKey, privateKey, userKey);
            EquipmentResponse response     = await telematicsV2.DeleteTelematicsNode(nodeId);

            return(response);
        }
示例#5
0
        public static async Task <EquipmentResponse> DeleteNotificationExample(int nodeId)
        {
            TelematicsV2      telematicsV2 = new TelematicsV2(publicKey, privateKey, userKey);
            EquipmentResponse response     = await telematicsV2.Disenroll(nodeId);

            return(response);
        }
        public async Task <HttpResponseMessage> CreateAsync(MT_Equipment EMD)
        {
            Db = con.SurgeryCenterDb(EMD.Slug);
            EquipmentResponse Response = new EquipmentResponse();

            try
            {
                UniqueID              = con.GetUniqueKey();
                EMD.Equip_Unique_ID   = UniqueID;
                EMD.Equip_Create_Date = con.ConvertTimeZone(EMD.Equip_TimeZone, Convert.ToDateTime(EMD.Equip_Create_Date));
                EMD.Equip_Modify_Date = con.ConvertTimeZone(EMD.Equip_TimeZone, Convert.ToDateTime(EMD.Equip_Modify_Date));

                DocumentReference docRef = Db.Collection("MT_Equipment").Document(UniqueID);
                WriteResult       Result = await docRef.SetAsync(EMD);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = EMD;
                }
                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));
        }
        public async Task <HttpResponseMessage> Remove(MT_Equipment EMD)
        {
            Db = con.SurgeryCenterDb(EMD.Slug);
            EquipmentResponse Response = new EquipmentResponse();

            try
            {
                DocumentReference docRef = Db.Collection("MT_Equipment").Document(EMD.Equip_Unique_ID);
                WriteResult       Result = await docRef.DeleteAsync();

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = null;
                }
                else
                {
                    Response.Status  = con.StatusNotDeleted;
                    Response.Message = con.MessageNotDeleted;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
示例#8
0
        public async Task <IActionResult> CreateAsync(CreateEquipmentViewModel model)
        {
            if (!ModelState.IsValid)
            {
                ViewData["ErrorMessage"] = "Invalid form submission";
                return(View("Create", model));
            }

            BaseResponse _Response = new BaseResponse();

            model.OwnerUID = User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (model.PurchasePrice != 0 && model.ReplacementPrice == 0)
            {
                model.ReplacementPrice = model.PurchasePrice;
            }

            if (model.Quantity <= 1)
            {
                EquipmentResponse _EquipmentResponse = await __EquipmentManager.CreateAsync(__Mapper.Map <CreateEquipmentRequest>(model));

                if (_EquipmentResponse.Success)
                {
                    await __EmailScheduleManager.CreateEquipmentWarrantyScheduleAsync(_EquipmentResponse, $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}");

                    if (model.MediaFiles != null && model.MediaFiles.Count > 0)
                    {
                        foreach (IFormFile file in model.MediaFiles)
                        {
                            await UploadEquipmentMediaAsync(file, _EquipmentResponse.UID);
                        }
                    }
                }
            }
            else
            {
                IList <EquipmentResponse> _EquipmentResponses = await __EquipmentManager.BulkCreateAsync(__Mapper.Map <CreateEquipmentRequest>(model));

                if (_EquipmentResponses == null || _EquipmentResponses?.Count <= 0)
                {
                    return(Json(new { error = $"{GlobalConstants.ERROR_ACTION_PREFIX} create {ENTITY_NAME}." }));
                }

                await __EmailScheduleManager.BulkCreateEquipmentWarrantyScheduleAsync(_EquipmentResponses, $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}");

                if (model.MediaFiles != null && model.MediaFiles.Count > 0)
                {
                    foreach (IFormFile file in model.MediaFiles)
                    {
                        foreach (EquipmentResponse createdEquipment in _EquipmentResponses)
                        {
                            await UploadEquipmentMediaAsync(file, createdEquipment.UID);
                        }
                    }
                }
            }

            return(RedirectToAction("Index", "Equipment", new { Area = "Equipment", successMessage = $"{GlobalConstants.SUCCESS_ACTION_PREFIX} created {ENTITY_NAME}." }));
        }
        /// <summary>
        /// The DELETE TelematicsNodeV2/{telematicsNodeID} endpoint allows a user to delete their connection to an equipment. It only removes the users connection to the endpoint. If the user wishes to get the equipment data back they just need to use the Data Exchange 2 registration workflow and re-register the equipment.
        /// Only root nodes can be deleted. Once a user deletes their connection to the root node they lose access to that entire node tree unless they re-register.
        /// </summary>
        /// <param name="nodeId"></param>
        /// <returns></returns>
        public async Task <EquipmentResponse> DeleteTelematicsNode(int nodeId)
        {
            Dictionary <string, string> headers = ApiUtilities.BuildHeaders(UserKey, PublicKey, PrivateKey, $"telematicsnodev2/{nodeId}", "DELETE");

            HttpResponseMessage response = await Api.Delete($"telematicsnodev2/{nodeId}", headers);

            EquipmentResponse result = await Api.DeserializeContent <EquipmentResponse>(response);

            return(result);
        }
示例#10
0
        public async Task <IActionResult> EditViewAsync(Guid equipmentUID)
        {
            EquipmentResponse _Response = await __EquipmentManager.GetAsync(equipmentUID);

            if (!_Response.Success)
            {
                return(RedirectToAction("Index", new { errorMessage = _Response.Message }));
            }

            return(View("Edit", __Mapper.Map <UpdateEquipmentViewModel>(_Response)));
        }
示例#11
0
        public async Task <IActionResult> DeleteModalAsync(Guid uid)
        {
            EquipmentResponse _Response = await __EquipmentManager.GetAsync(uid);

            if (!_Response.Success)
            {
                return(Json(new { message = $"{GlobalConstants.ERROR_ACTION_PREFIX} delete {ENTITY_NAME}." }));
            }

            return(PartialView("_DeleteEquipment", __Mapper.Map <EquipmentViewModel>(_Response)));
        }
        public async Task <EquipmentResponse> AddEquipment(EquipmentCreateRequest values)
        {
            EquipmentResponse _response = new EquipmentResponse();

            try
            {
                EntityEntry <EquipmentEntity> result = await _context.Equipment.AddAsync(new EquipmentEntity
                {
                    EquipmentGuid = Guid.NewGuid().ToString(),
                    ClinicGuid    = values.ClinicGuid,
                    Name          = values.Name,
                    Quantity      = values.Quantity,
                    UnitPrice     = values.UnitPrice,
                    RateOfUse     = values.RateOfUse,
                    DateofSupply  = values.DateofSupply,
                    Created       = DateTime.Now.ToUniversalTime(),
                    Updated       = DateTime.Now.ToUniversalTime(),
                    IsDeleted     = false,
                });

                if (result.Entity.Validate(validationContext: null).Count() == 0)
                {
                    await _context.SaveChangesAsync();

                    _response.Code         = "E000";
                    _response.Message      = _localizer["success"];
                    _response.DataCount    = 1;
                    _response.ResponseDate = DateTime.Now.ToUniversalTime();
                    _response.Results.Add(result.Entity);
                }
                else
                {
                    _response.Code    = "E001";
                    _response.Message = _localizer["check_values"];
                    foreach (System.ComponentModel.DataAnnotations.ValidationResult item in result.Entity.Validate(validationContext: null).ToList())
                    {
                        _response.Message += item.ErrorMessage + " ";
                    }
                    _response.DataCount    = 0;
                    _response.ResponseDate = DateTime.Now.ToUniversalTime();
                    _response.Results.Add(result.Entity);
                }
            }
            catch (Exception ex)
            {
                _response.Code         = "E999";
                _response.Message      = ex.Message;
                _response.DataCount    = 0;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results      = null;
            }
            return(_response);
        }
示例#13
0
 public void UpdateFromResponse(EquipmentResponse response)
 {
     ServerId           = response.ServerId;
     CodeId             = response.CodeId;
     Title              = response.Title;
     ClientServerId     = response.ClientServerId;
     AdresseServerId    = response.AddressServerId;
     DateBuy            = response.DateBuy;
     DateInstall        = response.DateInstall;
     DateGuaranteeEnd   = response.DateGuaranteeEnd;
     DateGuaranteeStart = response.DateGuaranteeStart;
     IsActif            = response.IsActif;
     EditDate           = response.EditDate ?? DateTime.Now;
 }
示例#14
0
        public async Task <HttpResponseMessage> UpdateAsync(MT_Equipment EMD)
        {
            Db = con.SurgeryCenterDb(EMD.Slug);
            EquipmentResponse Response = new EquipmentResponse();

            try
            {
                Dictionary <string, object> initialData = new Dictionary <string, object>
                {
                    { "Equip_Type", EMD.Equip_Type },
                    { "Equip_Name", EMD.Equip_Name },
                    { "Equip_Description", EMD.Equip_Description },
                    { "Equip_Modify_Date", con.ConvertTimeZone(EMD.Equip_TimeZone, Convert.ToDateTime(EMD.Equip_Modify_Date)) },
                    { "Equip_Surgery_Physician_Id", EMD.Equip_Surgery_Physician_Id }
                };

                DocumentReference docRef = Db.Collection("MT_Equipment").Document(EMD.Equip_Unique_ID);
                WriteResult       Result = await docRef.UpdateAsync(initialData);

                if (Result != null)
                {
                    Response.Status  = con.StatusSuccess;
                    Response.Message = con.MessageSuccess;
                    Response.Data    = EMD;
                }
                else
                {
                    Response.Status  = con.StatusNotUpdate;
                    Response.Message = con.MessageNotUpdate;
                    Response.Data    = null;
                }
            }
            catch (Exception ex)
            {
                Response.Status  = con.StatusFailed;
                Response.Message = con.MessageFailed + ", Exception : " + ex.Message;
            }
            return(ConvertToJSON(Response));
        }
        public async Task <EquipmentResponse> DeleteEquipmentByGuid(string guid)
        {
            EquipmentResponse _response = new EquipmentResponse();

            try
            {
                EquipmentEntity equipment = await _context.Equipment.Where(x => x.EquipmentGuid == guid && x.IsDeleted == false).FirstOrDefaultAsync();

                if (equipment == null)
                {
                    _response.Code         = "E001";
                    _response.Message      = _localizer["norecords"];
                    _response.DataCount    = 0;
                    _response.ResponseDate = DateTime.Now.ToUniversalTime();
                    _response.Results      = null;
                }
                else
                {
                    equipment.IsDeleted = true;
                    await _context.SaveChangesAsync();

                    _response.Code         = "E000";
                    _response.Message      = _localizer["success"];
                    _response.DataCount    = 1;
                    _response.ResponseDate = DateTime.Now.ToUniversalTime();
                    _response.Results.Add(equipment);
                }
            }
            catch (Exception ex)
            {
                _response.Code         = "E999";
                _response.Message      = ex.Message;
                _response.DataCount    = 0;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results      = null;
            }

            return(_response);
        }
        public async Task <EquipmentResponse> GetEquipmentByGuid(string guid)
        {
            EquipmentResponse _response = new EquipmentResponse();

            try
            {
                EquipmentEntity result = await _context.Equipment.Where(x => x.IsDeleted == false).Where(x => x.EquipmentGuid == guid).FirstOrDefaultAsync();

                _response.Code         = "E000";
                _response.Message      = _localizer["success"];
                _response.DataCount    = 1;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results.Add(result);
            }
            catch (Exception ex)
            {
                _response.Code         = "E999";
                _response.Message      = ex.Message;
                _response.DataCount    = 0;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results      = null;
            }
            return(_response);
        }
示例#17
0
        public Equipment(EquipmentResponse response)
        {
            if (!string.IsNullOrWhiteSpace(response.K) && Guid.TryParse(response.K, out Guid id))
            {
                Id = id;
            }
            else
            {
                Id = Guid.NewGuid();
            }

            ServerId           = response.ServerId;
            CodeId             = response.CodeId;
            Title              = response.Title;
            ClientServerId     = response.ClientServerId;
            AdresseServerId    = response.AddressServerId;
            DateBuy            = response.DateBuy;
            DateInstall        = response.DateInstall;
            DateGuaranteeEnd   = response.DateGuaranteeEnd;
            DateGuaranteeStart = response.DateGuaranteeStart;
            IsActif            = response.IsActif;
            EditDate           = response.EditDate ?? DateTime.Now;
            IsToSync           = false;
        }
        public async Task <EquipmentResponse> UpdateEquipmentByGuid(string guid, EquipmentRequest values)
        {
            EquipmentResponse _response = new EquipmentResponse();

            try
            {
                EquipmentEntity equipment = await _context.Equipment.Where(x => x.EquipmentGuid == guid && x.IsDeleted == false).FirstOrDefaultAsync();

                if (equipment == null)
                {
                    _response.Code         = "E001";
                    _response.Message      = _localizer["norecords"];
                    _response.DataCount    = 0;
                    _response.ResponseDate = DateTime.Now.ToUniversalTime();
                    _response.Results      = null;
                }
                else
                {
                    if (!string.IsNullOrEmpty(values.Name))
                    {
                        equipment.Name = values.Name;
                    }
                    if (values.Quantity > 1)
                    {
                        equipment.Quantity = values.Quantity;
                    }
                    if (values.UnitPrice > 0.01m)
                    {
                        equipment.UnitPrice = values.UnitPrice;
                    }
                    if (values.RateOfUse >= 0.0m && values.RateOfUse <= 100.0m)
                    {
                        equipment.RateOfUse = values.RateOfUse;
                    }
                    if (values.DateofSupply != null)
                    {
                        equipment.DateofSupply = values.DateofSupply;
                    }

                    if (equipment.Validate(validationContext: null).Count() == 0)
                    {
                        await _context.SaveChangesAsync();

                        _response.Code         = "E000";
                        _response.Message      = _localizer["success"];
                        _response.DataCount    = 1;
                        _response.ResponseDate = DateTime.Now.ToUniversalTime();
                        _response.Results.Add(equipment);
                    }
                    else
                    {
                        _response.Code    = "E001";
                        _response.Message = _localizer["check_values"];
                        foreach (System.ComponentModel.DataAnnotations.ValidationResult item in equipment.Validate(validationContext: null).ToList())
                        {
                            _response.Message += item.ErrorMessage + " ";
                        }
                        _response.DataCount    = 0;
                        _response.ResponseDate = DateTime.Now.ToUniversalTime();
                        _response.Results      = null;
                    }
                }
            }
            catch (Exception ex)
            {
                _response.Code         = "E999";
                _response.Message      = ex.Message;
                _response.ResponseDate = DateTime.Now.ToUniversalTime();
                _response.Results      = null;
            }

            return(_response);
        }