public IActionResult Post([FromBody] GoodsReceiptModel value) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); value.CreatedBy = currentUser.EmployeeId; value.IsCancel = false; if (value != null) { //Nagesh: we are creating gr without po directly , if we need functionality like first create po and then gr //po from background //var poResponse = _inventoryGoodReceiptService.AddPOAndPOItemsByGRId(value); //value.PurchaseOrderId = poResponse.PurchaseOrderId; var grResponse = _inventoryGoodReceiptService.AddGoodsReceipt(value); //add po with po items when we directly create goods receipt responseData.Results = grResponse.GoodsReceiptID; responseData.Status = "OK"; } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(Ok(responseData)); }
public string Put(string reqType, int settlementId) { RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); responseData.Status = "OK";//by default status would be OK, hence assigning at the top try { if (reqType == "updateSettlementPrintCount") { BillingDbContext bilDbContext = new BillingDbContext(connString); int settlmntId = settlementId; var currSettlment = bilDbContext.BillSettlements.Where(s => s.SettlementId == settlmntId).FirstOrDefault(); if (currSettlment != null) { int?printCount = currSettlment.PrintCount.HasValue ? currSettlment.PrintCount : 0; printCount += 1; bilDbContext.BillSettlements.Attach(currSettlment); currSettlment.PrintCount = printCount; currSettlment.PrintedOn = System.DateTime.Now; //Yubraj: 13th August'19 currSettlment.PrintedBy = currentUser.EmployeeId; bilDbContext.Entry(currSettlment).Property(b => b.PrintCount).IsModified = true; bilDbContext.SaveChanges(); responseData.Results = new { SettlementId = settlementId, PrintCount = printCount }; } } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public string Put() { RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); responseData.Status = "OK"; try { BillingDbContext billingDbContext = new BillingDbContext(connString); string reqType = this.ReadQueryStringData("reqType"); int depositId = ToInt(this.ReadQueryStringData("depositId")); if (reqType == "updateDepositPrintCount") { BillingDeposit deposit = billingDbContext.BillingDeposits .Where(a => a.DepositId == depositId) .FirstOrDefault <BillingDeposit>(); if (deposit != null) { deposit.PrintCount = deposit.PrintCount == null || deposit.PrintCount == 0 ? 1 : deposit.PrintCount + 1; deposit.PrintedOn = System.DateTime.Now; //Yubraj: 13th August'19 deposit.PrintedBy = currentUser.EmployeeId; billingDbContext.Entry(deposit).Property(a => a.PrintCount).IsModified = true; } billingDbContext.SaveChanges(); responseData.Status = "OK"; } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public IActionResult Logout(string returnUrl = null) { //HttpContext.Session.Set<RbacUser>("currentuser", null); //Remove all sessin variable values SystemAdminDbContext adminDbContext = new SystemAdminDbContext(connStringAdmin); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); LoginInformationModel LoginInfo = new LoginInformationModel(); //once logged out currentuser gets null, so don't go inside if it's null.. if (currentUser != null) { LoginInfo.EmployeeId = currentUser.EmployeeId; LoginInfo.UserName = currentUser.UserName; LoginInfo.ActionName = "logout"; LoginInfo.CreatedOn = System.DateTime.Now; adminDbContext.LoginInformation.Add(LoginInfo); adminDbContext.SaveChanges(); } RemoveRememberMeCookie(); RemoveSessionValues(); //HttpContext.Session.Remove("currentuser"); LoginViewModel newLogin = new LoginViewModel(); ViewData["status"] = "logout-success"; return(View("Login", newLogin)); }
public IActionResult Login(LoginViewModel model, string returnUrl = null) { if (ModelState.IsValid) { SystemAdminDbContext adminDbContext = new SystemAdminDbContext(connStringAdmin); RbacUser validUser = RBAC.GetUser(model.UserName, model.Password); LoginInformationModel LoginInfo = new LoginInformationModel(); //seting session for current valid user if (validUser != null) { //Check user status is Active or not, If user is InActive then return to login page if (validUser.IsActive == false) { ViewData["status"] = "user-inactive"; return(View(model)); } validUser.Password = ""; LoginInfo.EmployeeId = validUser.EmployeeId; LoginInfo.ActionName = "login"; LoginInfo.CreatedOn = System.DateTime.Now; LoginInfo.UserName = validUser.UserName; adminDbContext.LoginInformation.Add(LoginInfo); adminDbContext.SaveChanges(); SetSessionVariable(validUser); if (model.RememberMe) { DateTime centuryBegin = new DateTime(2001, 1, 1); DateTime currentDate = DateTime.Now; //Generate unique tick to make it a selector long ticksElapsed = currentDate.Ticks - centuryBegin.Ticks; SetRememberMeCookieVariable(ticksElapsed, validUser.UserId); } return(RedirectToAction("Index", "Home")); } else { LoginInfo.ActionName = "invalid-login-attempt"; LoginInfo.EmployeeId = null; LoginInfo.CreatedOn = System.DateTime.Now; LoginInfo.UserName = model.UserName; adminDbContext.LoginInformation.Add(LoginInfo); adminDbContext.SaveChanges(); } ViewData["status"] = "login-failed"; return(View(model)); } //If we got this far, something failed, redisplay form return(View(model)); }
//This method set session variable i.e.current login user, permissions for current login public void SetSessionVariable(RbacUser currentValidUser) { try { //set currentuser HttpContext.Session.Set <RbacUser>("currentuser", currentValidUser); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); if (currentUser != null) { //Get all valid permission for input user List <RbacPermission> validPermissionList = RBAC.GetUserAllPermissions(currentUser.UserId).ToList(); //List<RbacRole> validRoles = //Set permission session variable value for logged in user HttpContext.Session.Set <List <RbacPermission> >("validpermissionlist", validPermissionList); //Get all valid permission for input user List <RbacRole> validUsrRoles = RBAC.GetUserAllRoles(currentUser.UserId); //List<RbacRole> validRoles = //Set permission session variable value for logged in user HttpContext.Session.Set <List <RbacRole> >("user-roles", validUsrRoles); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Authorizes a user /// For authorized users, it returns the WindowsIdentity in which context commands need to be executed /// </summary> /// <param name="userInfo">User information</param> /// <param name="quota">User quota value</param> /// <returns>WindowsIdentiy in which context commands need to be executed</returns> public WindowsIdentity AuthorizeUser(RbacUser.RbacUserInfo userInfo, out Microsoft.Management.Odata.UserQuota quota) { RbacUser user = this.FindUser(userInfo); quota = new Microsoft.Management.Odata.UserQuota(user.Quota.MaxConcurrentRequests, user.Quota.MaxRequestsPerTimeSlot, user.Quota.Timeslot); return user.Group.GetWindowsIdentity(userInfo.WindowsIdentity); }
public async Task <IHttpActionResult> AddNew([FromBody] RbacRegisterUser user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RbacUser dbUser = new RbacUser(user.UserName); if (dbUser != null) { return(BadRequest(string.Format("User '{0}' already exists!", user.UserName))); } RbacRole role = new RbacRole(user.RoleId); if (role == null) { return(BadRequest(string.Format("Role id '{0}' not found!", user.RoleId))); } RbacUser newUser = Rbac.CreateUser(user.UserName, user.FullName, user.Email, user.Password, role); if ((newUser != null) && (newUser.UserId > 0)) { return(Ok()); } return(BadRequest("Cannot create user!")); }
public async Task <IHttpActionResult> Register([FromBody] RbacRegisterUser user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (user.RbacId == 0) { return(BadRequest("Rbac id cannot be zero!")); } Rbac rbac = new Rbac(user.RbacId, ""); if (rbac == null) { return(BadRequest(string.Format("Rbac instance with rbac id '{0}' not found!", user.RbacId))); } RbacRole role = new RbacRole(user.RoleId); if (role == null) { return(BadRequest(string.Format("Role id '{0}' not found!", user.RoleId))); } RbacUser newUser = rbac.CreateUser(user.UserName, user.FullName, user.Email, user.Password, role); if ((newUser != null) && (newUser.UserId > 0)) { return(Ok()); } return(BadRequest("Cannot create user!")); }
//This method used for fire stored procedure and do database backup private Boolean BackupDatabase(string connStringAdmin) { try { using (SqlConnection con = new SqlConnection(connStringAdmin)) { using (SqlCommand cmd = new SqlCommand("SP_SysADM_Backup_Database", con)) { cmd.CommandTimeout = 300;// 5 minute for this command to copy the patientfiles while doing DB backup //Get Current Loggedin user via session RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); int CreatedBy = currentUser.EmployeeId; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CreatedBy", SqlDbType.Int).Value = CreatedBy; cmd.Parameters.Add("@ActionType", SqlDbType.VarChar).Value = "manual"; con.Open(); string result = (string)cmd.ExecuteScalar(); return(result == "success" ? true : false); } } //return true; } catch (Exception ex) { throw ex; } }
private Boolean PostDBLog(string connStringAdmin, DatabaseLogModel databaseLogModel) { try { using (SqlConnection con = new SqlConnection(connStringAdmin)) { using (SqlCommand cmd = new SqlCommand("SP_SysADM_Insert_DBLog", con)) { //Get Current Loggedin user via session RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); databaseLogModel.CreatedBy = currentUser.EmployeeId; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@FileName", SqlDbType.VarChar).Value = databaseLogModel.FileName; cmd.Parameters.Add("@FolderPath", SqlDbType.VarChar).Value = databaseLogModel.FolderPath; cmd.Parameters.Add("@DatabaseName", SqlDbType.VarChar).Value = databaseLogModel.DatabaseName; cmd.Parameters.Add("@DatabaseVersion", SqlDbType.VarChar).Value = databaseLogModel.DatabaseVersion; cmd.Parameters.Add("@IsDBRestorable", SqlDbType.Bit).Value = databaseLogModel.IsDBRestorable; cmd.Parameters.Add("@Action", SqlDbType.VarChar).Value = databaseLogModel.Action; cmd.Parameters.Add("@ActionType", SqlDbType.VarChar).Value = databaseLogModel.ActionType; cmd.Parameters.Add("@Status", SqlDbType.VarChar).Value = databaseLogModel.Status; cmd.Parameters.Add("@MessageDetail", SqlDbType.VarChar).Value = databaseLogModel.MessageDetail; cmd.Parameters.Add("@Remarks", SqlDbType.VarChar).Value = databaseLogModel.Remarks; cmd.Parameters.Add("@CreatedBy", SqlDbType.Int).Value = databaseLogModel.CreatedBy; cmd.Parameters.Add("@IsActive", SqlDbType.Bit).Value = databaseLogModel.IsActive; con.Open(); cmd.ExecuteNonQuery(); } } return(true); } catch (Exception ex) { throw ex; } }
private static async Task <GraphArrayWrapper <GraphUser> > SearchGraph(RbacUser rbacUser) { var graphResponse = await graphClient.HttpInvoke(HttpMethod.Get, ArmUriTemplates.GraphSearchUsers.Bind(rbacUser)); await graphResponse.EnsureSuccessStatusCodeWithFullError(); return(await graphResponse.Content.ReadAsAsync <GraphArrayWrapper <GraphUser> >()); }
//move it out of patientcontroller to Maincontroller or something.. public IActionResult AppMain() { try { RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); ViewData["currentuser"] = currentUser; //getting only the root level routes for this view.//set getHierarchy = true for AppMain (special condition.) ViewData["validroutes"] = RBAC.GetRoutesForUser(currentUser.UserId, getHiearrchy: true); return(View()); } catch (Exception ex) { //throw ex; //Redirect to Login page If user is not login return(RedirectToAction("Login", "Account")); } }
private void LoadUserParameters() { lvwUserParameters.Items.Clear(); if (cbUsers.SelectedIndex > -1) { var selUser = (RbacUser)cbUsers.SelectedItem; RbacUser user = new RbacUser(selUser.UserName); if (user.Parameters != null) { foreach (var paramter in user.Parameters) { ListViewItem item = new ListViewItem(paramter.Key); item.SubItems.Add(paramter.Value); lvwUserParameters.Items.Add(item); } } } }
[HttpPost]// POST api/values public string Post() { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); //type 'object' since we have variable return types responseData.Status = "OK"; //by default status would be OK, hence assigning at the top string ipDataString = this.ReadPostData(); string reqType = this.ReadQueryStringData("reqType"); try { RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); BillingDbContext billingDbContext = new BillingDbContext(connString); if (reqType == "Deposit") { BillingDeposit deposit = DanpheJSONConvert.DeserializeObject <BillingDeposit>(ipDataString); deposit.CreatedOn = System.DateTime.Now; deposit.CreatedBy = currentUser.EmployeeId; BillingFiscalYear fiscYear = BillingBL.GetFiscalYear(connString); deposit.FiscalYearId = fiscYear.FiscalYearId; if (deposit.DepositType != "depositdeduct") { deposit.ReceiptNo = BillingBL.GetDepositReceiptNo(connString); } deposit.FiscalYear = fiscYear.FiscalYearFormatted; EmployeeModel currentEmp = billingDbContext.Employee.Where(emp => emp.EmployeeId == currentUser.EmployeeId).FirstOrDefault(); deposit.BillingUser = currentEmp.FirstName + " " + currentEmp.LastName; deposit.IsActive = true; //yubraj: 18th Dec '18 billingDbContext.BillingDeposits.Add(deposit); billingDbContext.SaveChanges(); responseData.Status = "OK"; responseData.Results = deposit;//check if we need to send back the whole input object back to client.--sudarshan } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public string Put() { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); DicomDbContext dbContextDicom = new DicomDbContext(connStringPACSServer); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); string inputSting = this.ReadPostData(); try { //if(inputSting !=null && reqType="putToolData") //{ object clientData = DanpheJSONConvert.DeserializeObject <object>(inputSting); JObject obj = JObject.Parse(inputSting); var FileToolData = obj["FileToolData"].ToString(); var DicomFileId = int.Parse(obj["DicomFileId"]["dicomFileId"].ToString()); DicomFileInfoModel getDataForUpdate = dbContextDicom.DicomFiles.Where(d => d.DicomFileId == DicomFileId).FirstOrDefault <DicomFileInfoModel>(); getDataForUpdate.FileToolData = FileToolData; getDataForUpdate.ModifiedBy = currentUser.UserId; getDataForUpdate.ModifiedOn = DateTime.Now; dbContextDicom.DicomFiles.Attach(getDataForUpdate); dbContextDicom.Entry(getDataForUpdate).Property(u => u.CreatedOn).IsModified = true; dbContextDicom.Entry(getDataForUpdate).State = EntityState.Modified; dbContextDicom.SaveChanges(); responseData.Results = getDataForUpdate.DicomFileId; responseData.Status = "OK"; //} //else{ // responseData.Status = "Failed"; // responseData.Results = "input data is not available"; // } } catch (Exception ex) { responseData.Status = "Failed"; } return(DanpheJSONConvert.SerializeObject(responseData)); }
public string Post() { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); try { string reqType = this.ReadQueryStringData("reqType"); string ipStr = this.ReadPostData(); DoctorsDbContext dbContext = new DoctorsDbContext(connString); if (reqType == "addPatientData") { List <VisitSummaryModel> patDataList = DanpheJSONConvert. DeserializeObject <List <VisitSummaryModel> >(ipStr); if (patDataList != null) { patDataList.ForEach(patData => { patData.CreatedOn = DateTime.Now; patData.CreatedBy = currentUser.CreatedBy; dbContext.VisitSummary.Add(patData); }); dbContext.SaveChanges(); responseData.Results = patDataList; } else { throw new Exception("Invalid Patient object."); } } responseData.Status = "OK"; } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public void Setup() { Rbac rbac = new Rbac(); rbac = rbac.CreateNew("books", "books description", @"Data Source=LPT-03084856325\SQLEXPRESS;Initial Catalog=books;Integrated Security=True", File.ReadAllText(Path.Combine(_rootDir, "Books", "entitlement.xml"))); InsertRoles(rbac); GenericParserAdapter parser = new GenericParserAdapter(Path.Combine(_rootDir, "Books", "BooksUsers.csv")); parser.FirstRowHasHeader = true; DataTable table = parser.GetDataTable(); if (table.Rows.Count > 0) { foreach (DataRow dataRow in table.Rows) { RbacRole role = roles.Where(r => r.Name == dataRow["Role"].ToString()).SingleOrDefault(); if (role == null) { throw new Exception(dataRow["Role"].ToString() + " is not defined!"); } RbacUser user = Rbac.CreateUser(dataRow[0].ToString(), dataRow[1].ToString(), dataRow[2].ToString(), "password", role); if (role.Name == "role_city_mgr") { user.AddParameter("{CityNames}", "('New York','Charlotte')"); } else if (role.Name == "role_state_mgr") { user.AddParameter("{ShortNames}", "('NY','NC')"); } else if (role.Name == "role_country_mgr") { user.AddParameter("{CountryCodes}", "('IN','US')"); } } } }
public IActionResult Post([FromBody]InventoryCompanyModel value) { try { if (!ModelState.IsValid) { return BadRequest(ModelState); } RbacUser currentUser = HttpContext.Session.Get<RbacUser>("currentuser"); value.CreatedBy = currentUser.EmployeeId; _inventoryCompanyService.AddCompany(value); responseData.Results = _inventoryCompanyService.GetCompany(value.CompanyId); responseData.Status = "OK"; } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return Ok(responseData); }
public IActionResult Post([FromBody] FractionCalculationModel[] value) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); //value.CreatedBy = currentUser.EmployeeId; //responseData.Results = _FractionCalculationService.GetFractionCalculation(value.FractionCalculationId); responseData.Results = _FractionCalculationService.AddFractionCalculation(value); responseData.Status = "OK"; } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(Ok(responseData)); }
public string Update(/*string reqType*/) { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); AccountingDbContext accountingDBContext = new AccountingDbContext(connString); try { //string str = Request.Form.Keys.First<string>(); string str = this.ReadPostData(); string reqType = this.ReadQueryStringData("reqType"); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public override void OnActionExecuting(ActionExecutingContext context) { try { base.OnActionExecuting(context); //Checking user is logged in or not RbacUser currentUser = context.HttpContext.Session.Get <RbacUser>("currentuser"); if (currentUser != null) { //Get all valid permissions for logged in user from session variable List <RbacPermission> validPermissionList = context.HttpContext.Session.Get <List <RbacPermission> >("validpermissionlist"); if (validPermissionList.Count > 0) { RbacPermission currentPermission = validPermissionList.Find(a => a.PermissionName == PermissionName); //Check is currentPermission has value or not if (currentPermission == null || currentPermission.PermissionName == null) { //Redirect to PageNot found page context.Result = new RedirectToRouteResult(new RouteValueDictionary { { "controller", "Account" }, { "action", "PageNotFound" } }); } } else { //Redirect to page not found page context.Result = new RedirectToRouteResult(new RouteValueDictionary { { "controller", "Account" }, { "action", "PageNotFound" } }); } } } catch (Exception ex) { //Write exception handling logic here throw ex; } }
public IActionResult ChangePassword() { //RbacUser validUser = RBAC.GetUser(chmodel.UserName, chmodel.Password); //string str = Request.Form.Keys.First<string>(); Stream req = Request.Body; req.Seek(0, System.IO.SeekOrigin.Begin); string str = new StreamReader(req).ReadToEnd(); ChangePasswordViewModel chmodel = JsonConvert.DeserializeObject <ChangePasswordViewModel>(str); RbacUser updatepass = RBAC.UpdateDefaultPasswordOfUser(chmodel.UserName, chmodel.Password, chmodel.ConfirmPassword); if (updatepass != null) { updatepass.NeedsPasswordUpdate = false; //Update property for Current Session as well. RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); currentUser.NeedsPasswordUpdate = false; HttpContext.Session.Set <RbacUser>("currentuser", currentUser); RemoveRememberMeCookie(); RemoveSessionValues(); responseData.Status = "OK"; responseData.Results = null; ////Assigning Result to NULL because we Don't have to Show Password of User in Client side (i.e Client Debugging Side) var s = Json(DanpheJSONConvert.SerializeObject(responseData, true)); return(s); } else { responseData.Status = "Failed"; responseData.ErrorMessage = "Current Password is Wrong"; var s = Json(DanpheJSONConvert.SerializeObject(responseData, true)); return(s); } }
public string Put() { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); try { string reqType = this.ReadQueryStringData("reqType"); string ipStr = this.ReadPostData(); DoctorsDbContext dbContext = new DoctorsDbContext(connString); if (reqType == "updatePatientData") { List <VisitSummaryModel> patDataList = DanpheJSONConvert.DeserializeObject <List <VisitSummaryModel> >(ipStr); patDataList.ForEach(data => { data.ModifiedOn = DateTime.Now; data.ModifiedBy = currentUser.CreatedBy; dbContext.Entry(data).State = EntityState.Modified; dbContext.Entry(data).Property(u => u.CreatedBy).IsModified = false; dbContext.Entry(data).Property(u => u.CreatedOn).IsModified = false; }); dbContext.SaveChanges(); responseData.Results = patDataList; } responseData.Status = "OK"; } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public string Post() { //if reqtype=employee, then use masterdbcontext.employee.add and so on for others. DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); //type 'object' since we have variable return types responseData.Status = "OK"; //by default status would be OK, hence assigning at the top AccountingDbContext accountingDBContext = new AccountingDbContext(connString); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); try { string str = this.ReadPostData(); string reqType = this.ReadQueryStringData("reqType"); string companyName = this.ReadQueryStringData("companyName"); } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public string Put(string reqType, int settlementId) { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); responseData.Status = "OK";//by default status would be OK, hence assigning at the top try { int patientId = ToInt(this.ReadQueryStringData("patientId")); int insuranceProviderId = ToInt(this.ReadQueryStringData("insuranceProviderId")); int updatedInsBalance = ToInt(this.ReadQueryStringData("updatedInsBalance")); int patientInsurancePkgId = ToInt(this.ReadQueryStringData("patientInsurancePkgId")); int couterId = ToInt(this.ReadQueryStringData("counterId")); BillingDbContext billingDbContext = new BillingDbContext(connString); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); if (reqType == "update-insurance-balance") { BillingBL.UpdateInsuranceCurrentBalance(connString, patientId, insuranceProviderId, currentUser.EmployeeId, updatedInsBalance); responseData.Status = "OK"; } else if (reqType == "close-insurance-package") { PatientInsurancePackageTransactionModel insPkg = billingDbContext.PatientInsurancePackageTransactions .Where(ins => ins.PatientInsurancePackageId == patientInsurancePkgId).FirstOrDefault(); if (insPkg != null) { insPkg.EndDate = DateTime.Now; insPkg.IsCompleted = true; insPkg.ModifiedOn = DateTime.Now; insPkg.ModifiedBy = currentUser.EmployeeId; billingDbContext.Entry(insPkg).State = EntityState.Modified; billingDbContext.SaveChanges(); responseData.Status = "OK"; } } else if (reqType == "update-insurance-claim") { string str = this.ReadPostData(); List <Int32> billingTransactionIdList = JsonConvert.DeserializeObject <List <Int32> >(str); List <BillingTransactionModel> claimInsurance = new List <BillingTransactionModel>(); DateTime settlementDate = DateTime.Now; foreach (var invoice in billingTransactionIdList) { BillingTransactionModel billingTransaction = billingDbContext.BillingTransactions .Where(a => a.BillingTransactionId == invoice) .FirstOrDefault <BillingTransactionModel>(); if (billingTransaction != null) { billingDbContext.BillingTransactions.Attach(billingTransaction); billingTransaction.BillStatus = "paid"; billingTransaction.PaidAmount = billingTransaction.TotalAmount; billingTransaction.PaidDate = settlementDate; billingTransaction.PaymentReceivedBy = currentUser.EmployeeId; billingTransaction.PaidCounterId = couterId; billingTransaction.IsInsuranceClaimed = true; billingTransaction.InsuranceClaimedDate = DateTime.Now; billingDbContext.Entry(billingTransaction).Property(b => b.IsInsuranceClaimed).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.InsuranceClaimedDate).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.BillStatus).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.PaidAmount).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.PaidDate).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.PaymentReceivedBy).IsModified = true; billingDbContext.Entry(billingTransaction).Property(b => b.PaidCounterId).IsModified = true; List <BillingTransactionItemModel> txnItems = billingDbContext.BillingTransactionItems .Where(b => b.BillingTransactionId == billingTransaction.BillingTransactionId).ToList(); if (txnItems != null && txnItems.Count > 0) { foreach (var txnItm in txnItems) { billingDbContext.BillingTransactionItems.Attach(txnItm); txnItm.BillStatus = "paid"; txnItm.PaidDate = settlementDate; txnItm.PaidCounterId = couterId; txnItm.PaymentReceivedBy = currentUser.EmployeeId; billingDbContext.Entry(txnItm).Property(b => b.BillStatus).IsModified = true; billingDbContext.Entry(txnItm).Property(b => b.PaidDate).IsModified = true; billingDbContext.Entry(txnItm).Property(b => b.PaymentReceivedBy).IsModified = true; billingDbContext.Entry(txnItm).Property(b => b.PaidCounterId).IsModified = true; } billingDbContext.SaveChanges(); } //claimInsurance.Add(billingTransaction); } } billingDbContext.SaveChanges(); responseData.Status = "OK"; responseData.Results = claimInsurance; } else { responseData.Status = "failed"; responseData.ErrorMessage = "Invalid request type."; } //responseData.Results = null; } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
/// <summary> /// Populates the RbacSystem from an RBAC configuration file /// </summary> /// <param name="configPath">full path to the config file</param> private void Populate(string configPath) { this.Reset(); XmlConfiguration rbacConfiguration = XmlConfiguration.Create(configPath); foreach (XmlGroup group in rbacConfiguration.Groups) { WindowsIdentity identity = null; try { if (group.UserName == null || group.Password == null) { if (group.UserName != null || group.Password != null) { if (group.UserName == null) { throw new ArgumentException("User name is null for group " + group.Name); } if (group.Password == null) { throw new ArgumentException("Password is null for group " + group.Name); } } } else { if (group.DomainName == null) { group.DomainName = Environment.MachineName; } identity = WindowsIdentityHelper.GetWindowsIdentity(group.UserName, group.Password, group.DomainName); } } catch (Exception) { // Not able to get the impersonated WindowsIdentity // use the current WindowsIdentity identity = WindowsIdentity.GetCurrent(); } this.Groups.Add(new RbacGroup(group)); } foreach (XmlUser userConfig in rbacConfiguration.Users) { RbacUser user = new RbacUser(new RbacUser.RbacUserInfo(userConfig.Name, userConfig.AuthenticationType, userConfig.DomainName), userConfig.Quota); RbacGroup group = this.Groups.Find(item => item.Name == userConfig.GroupName); if (group == null) { throw new ArgumentException("Group not found = " + userConfig.GroupName); } user.Group = group; this.Users.Add(user); } }
public IActionResult Login(string returnUrl = null) { DateTime centuryBegin = new DateTime(2001, 1, 1); DateTime currentDate = DateTime.Now; //Generate unique tick to make it a selector long ticksElapsed = currentDate.Ticks - centuryBegin.Ticks; //Generate unique string associated with selector --called Validator Guid gd = Guid.NewGuid(); string GuidString = Convert.ToBase64String(gd.ToByteArray()); GuidString = GuidString.Replace("=", ""); GuidString = GuidString.Replace("+", ""); //tick is also used as a salt GuidString = GuidString + ticksElapsed.ToString(); //generate Hash of the Validator, that can be used as a token string msgDigest = ComputeSha256Hash(GuidString); //start: sud:16Jul'19-- If One user is already logged in - (check from session) - Load home index page directly. RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); if (currentUser != null && currentUser.UserId != 0) { return(RedirectToAction("Index", "Home")); } //end: sud:16Jul'19-- If One user is already logged in - (check from session) - Load home index page directly. if (!string.IsNullOrEmpty(Request.Cookies["uRef"])) { SystemAdminDbContext adminDbContext = new SystemAdminDbContext(connStringAdmin); var selector = Convert.ToInt64(Request.Cookies["uRef"]); var validatorWithSalt = Request.Cookies["uData"] + Request.Cookies["uRef"]; var hashedValidator = ComputeSha256Hash(validatorWithSalt); //To make sure that only one UserId will be selected at a time var userIdList = (from sysAuthInfo in adminDbContext.CookieInformation where sysAuthInfo.Selector == selector && sysAuthInfo.HashedToken == hashedValidator select sysAuthInfo.UserId).ToList(); if (userIdList.Count == 1) { RbacUser validUser = RBAC.GetUser(userIdList[0]); LoginViewModel model = new LoginViewModel(); model.UserName = validUser.UserName; //seting session for current valid user if (validUser != null) { //Check user status is Active or not, If user is InActive then return to login page if (validUser.IsActive == false) { RemoveRememberMeCookie(); RemoveSessionValues(); ViewData["status"] = "user-inactive"; return(View(model)); } validUser.Password = ""; UpdateRememberMeCookie(selector); SetSessionVariable(validUser); return(RedirectToAction("Index", "Home")); } } else { RemoveRememberMeCookie(); RemoveSessionValues(); return(View()); } } CoreDbContext coreDbContext = new CoreDbContext(connString); ParameterModel licenseParam = coreDbContext.Parameters.Where(p => p.ParameterGroupName == "TenantMgnt" && p.ParameterName == "SoftwareLicense") .FirstOrDefault(); string paramValue = licenseParam != null ? licenseParam.ParameterValue : null; if (paramValue != null) { // var paramValueJson = Newtonsoft.Json.Linq.JObject.Parse(paramValue); //format of parameter:softwarelicense is as below var definition = new { StartDate = "", EndDate = "", ExpiryNoticeDays = "", LicenseType = "" }; var license = JsonConvert.DeserializeAnonymousType(paramValue, definition); DateTime startDate = Convert.ToDateTime(RBAC.DecryptPassword(license.StartDate)); DateTime endDate = Convert.ToDateTime(RBAC.DecryptPassword(license.EndDate)); int expiryNoticeDays = Convert.ToInt32(RBAC.DecryptPassword(license.ExpiryNoticeDays)); double remainingDays = (endDate - DateTime.Now).TotalDays; if (remainingDays < 0) { TempData["LicenseMessage"] = "License expired on: " + endDate.ToString("yyyy-MMM-dd"); return(RedirectToAction("LicenseExpired", "Account")); } if (expiryNoticeDays > remainingDays) { ViewData["ExpiryNotice"] = "Notice ! Your Software License is expiring in " + Convert.ToInt32(remainingDays) + " days."; //display remaining days through viewdata. } } else { TempData["LicenseMessage"] = "License Information not found.."; return(RedirectToAction("LicenseExpired", "Account")); } ViewData["ReturnUrl"] = returnUrl; return(View()); }
/// <summary> /// Finds a user in the RbacSytem /// </summary> /// <param name="userInfo">User information</param> /// <returns>User from RbacSystem which was searched</returns> private RbacUser FindUser(RbacUser.RbacUserInfo userInfo) { RbacUser user = this.Users.Find(item => item.UserInfo.Equals(userInfo)); if (user == null) { throw new ArgumentException("User not found. Name = " + userInfo.Name + " Authentication Type = " + userInfo.AuthenticationType); } return user; }
/// <summary> /// Gets management system execution state membershipId for a user /// </summary> /// <param name="userInfo">User information</param> /// <returns>Managment system execution state membershipId</returns> public string GetMembershipId(RbacUser.RbacUserInfo userInfo) { return this.FindUser(userInfo).GetMembershipId(); }
public static Boolean StockTransferToPharmacy(List <WARDStockModel> stkTransfer, WardSupplyDbContext wardSupplyDbContext, PharmacyDbContext pharmacyDbContext, RbacUser currentUser) { //Transaction Begins using (var dbContextTransaction = wardSupplyDbContext.Database.BeginTransaction()) { try { if (stkTransfer != null) { for (int i = 0; i < stkTransfer.Count; i++) { var stockId = stkTransfer[i].StockId; WARDStockModel updatedStock = (from stock in wardSupplyDbContext.WARDStockModel where stock.StockId == stockId select stock ).FirstOrDefault(); updatedStock.AvailableQuantity = (int)(Convert.ToDecimal(stkTransfer[i].AvailableQuantity)) - (int)(Convert.ToDecimal(stkTransfer[i].DispachedQuantity)); wardSupplyDbContext.Entry(updatedStock).Property(a => a.AvailableQuantity).IsModified = true; //transaction table var selectedstockTxnItm = new WARDTransactionModel(); selectedstockTxnItm.WardId = updatedStock.WardId; selectedstockTxnItm.ItemId = updatedStock.ItemId; selectedstockTxnItm.StockId = updatedStock.StockId; selectedstockTxnItm.TransactionId = 0; selectedstockTxnItm.Quantity = (int)(Convert.ToDecimal(stkTransfer[i].DispachedQuantity)); selectedstockTxnItm.TransactionType = "WardToPharmacy"; selectedstockTxnItm.Remarks = "Sent From Ward To Pharmacy"; selectedstockTxnItm.CreatedBy = currentUser.UserName; selectedstockTxnItm.CreatedOn = DateTime.Now; selectedstockTxnItm.IsWard = true; wardSupplyDbContext.TransactionModel.Add(selectedstockTxnItm); wardSupplyDbContext.SaveChanges(); //pharmacy stock changes var itemId = stkTransfer[i].ItemId; var batchNo = stkTransfer[i].BatchNo; PHRMStockModel updatedPharmacyStock = (from stock in pharmacyDbContext.PHRMStock where stock.ItemId == itemId && stock.BatchNo == batchNo select stock ).FirstOrDefault(); updatedPharmacyStock.AvailableQuantity = (int)(Convert.ToDecimal(updatedPharmacyStock.AvailableQuantity)) + (int)(Convert.ToDecimal(stkTransfer[i].DispachedQuantity)); pharmacyDbContext.Entry(updatedPharmacyStock).Property(a => a.AvailableQuantity).IsModified = true; //Pharmacy Transaction Table var phrmStockTxn = new PHRMStockTransactionItemsModel(); phrmStockTxn.ItemId = updatedPharmacyStock.ItemId; phrmStockTxn.BatchNo = updatedPharmacyStock.BatchNo; phrmStockTxn.ExpiryDate = stkTransfer[i].ExpiryDate; phrmStockTxn.Quantity = (int)(Convert.ToDecimal(stkTransfer[i].DispachedQuantity)); phrmStockTxn.FreeQuantity = 0; phrmStockTxn.Price = (int)(Convert.ToDecimal(stkTransfer[i].MRP)); phrmStockTxn.DiscountPercentage = 0; phrmStockTxn.VATPercentage = 0; phrmStockTxn.SubTotal = (int)(Convert.ToDecimal(phrmStockTxn.Quantity)) * (int)(Convert.ToDecimal(phrmStockTxn.Price)); phrmStockTxn.TotalAmount = phrmStockTxn.SubTotal; phrmStockTxn.InOut = "in"; phrmStockTxn.CreatedBy = currentUser.UserId; phrmStockTxn.CreatedOn = DateTime.Now; phrmStockTxn.MRP = phrmStockTxn.Price; phrmStockTxn.TransactionType = "WardToPharmacy"; pharmacyDbContext.PHRMStockTransactionModel.Add(phrmStockTxn); pharmacyDbContext.SaveChanges(); } } dbContextTransaction.Commit(); return(true); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }
public async Task CreateAsync(RbacUser user) { await _userRepository.AddAsync(user); }
public void Setup(Options options) { if (string.IsNullOrEmpty(options.ConnectionString)) { WriteErrorLine("Connection string is required. Please use -x <connection string>"); return; } Rbac rbac = new Rbac(); rbac = rbac.CreateNew("books", "books description", options.ConnectionString, File.ReadAllText(Path.Combine(_rootDir, "Books", "entitlement.xml"))); Console.Write("."); InsertRoles(rbac); GenericParserAdapter parser = new GenericParserAdapter(Path.Combine(_rootDir, "Books", "BooksUsers.csv")); parser.FirstRowHasHeader = true; DataTable table = parser.GetDataTable(); if (table.Rows.Count > 0) { foreach (DataRow dataRow in table.Rows) { RbacRole role = roles.Where(r => r.Name == dataRow["Role"].ToString()).SingleOrDefault(); if (role == null) { throw new Exception(dataRow["Role"].ToString() + " is not defined!"); } RbacUser user = Rbac.CreateUser(dataRow[0].ToString(), dataRow[1].ToString(), dataRow[2].ToString(), "password", role); if (role.Name == "role_city_mgr") { user.AddParameter("{CityNames}", "('New York','Charlotte')"); } else if (role.Name == "role_state_mgr") { user.AddParameter("{ShortNames}", "('NY','NC')"); } else if (role.Name == "role_country_mgr") { user.AddParameter("{CountryCodes}", "('IN','US')"); } if (role.Name == "role_guest_user") { user.AddParameter("{CityNames}", "('New York')"); } Console.Write("."); } } Console.WriteLine(); var rbacs = Rbac.GetRbacs(); if (rbacs != null) { WriteColor(ConsoleColor.Green, rbacs.Count + " rbac instance(s) created." + Environment.NewLine); } else { WriteErrorLine("rbac creation failed!"); } var vroles = Rbac.GetRoles(); if (vroles != null) { WriteColor(ConsoleColor.Green, vroles.Count + " role(s) created." + Environment.NewLine); } else { WriteErrorLine("role(s) creation failed!"); } var users = Rbac.GetUsers(); if (users != null) { WriteColor(ConsoleColor.Green, users.Count + " user(s) created." + Environment.NewLine); } else { WriteErrorLine("user(s) creation failed!"); } }
[HttpPost]// POST api/values public string Post(string reqType) { DanpheHTTPResponse <object> responseData = new DanpheHTTPResponse <object>(); string ipDataString = this.ReadPostData(); responseData.Status = "OK";//by default status would be OK, hence assigning at the top try { BillingDbContext billingDbContext = new BillingDbContext(connString); MasterDbContext masterDbContext = new MasterDbContext(connString); RbacUser currentUser = HttpContext.Session.Get <RbacUser>("currentuser"); if (reqType == "returnInvoice")//submit { //var currentDate = DateTime.Now; BillInvoiceReturnModel billInvoiceRet = DanpheJSONConvert.DeserializeObject <BillInvoiceReturnModel>(ipDataString); if (billInvoiceRet != null) { //Transaction Begins using (var dbContextTransaction = billingDbContext.Database.BeginTransaction()) { try { BillingFiscalYear currFiscYear = BillingBL.GetFiscalYear(billingDbContext); //credit note number will continue from current fiscal year, regardless whether the bill was generated in earlier fiscal year.. (sud:30Aug'18) int?maxCreditNoteNum = billingDbContext.BillReturns.Where(a => a.FiscalYearId == currFiscYear.FiscalYearId).Max(a => a.CreditNoteNumber); billInvoiceRet.CreatedOn = DateTime.Now; if (maxCreditNoteNum == null || !maxCreditNoteNum.HasValue) { maxCreditNoteNum = 0; } billInvoiceRet.FiscalYear = currFiscYear.FiscalYearFormatted; billInvoiceRet.FiscalYearId = currFiscYear.FiscalYearId; billInvoiceRet.CreditNoteNumber = (int?)(maxCreditNoteNum + 1); billInvoiceRet.CreatedBy = currentUser.EmployeeId; billingDbContext.BillReturns.Add(billInvoiceRet); billingDbContext.SaveChanges(); //update transactiontable after bill is returned.. int invoiceNo = billInvoiceRet.RefInvoiceNum; //BillingTransactionModel billTxn = billingDbContext.BillingTransactions // .Where(b => b.InvoiceNo == billInvoiceRet.RefInvoiceNum) // .FirstOrDefault(); //changed: sud: 18July, since Invoice No will repeat with fiscal year, so need to find by billingtransactionid. BillingTransactionModel billTxn = billingDbContext.BillingTransactions .Where(b => b.BillingTransactionId == billInvoiceRet.BillingTransactionId) .FirstOrDefault(); billingDbContext.BillingTransactions.Attach(billTxn); billTxn.ReturnStatus = true; billingDbContext.Entry(billTxn).Property(a => a.ReturnStatus).IsModified = true; billingDbContext.SaveChanges(); if (billTxn.IsInsuranceBilling == true) { double deductableInsuranceAmount = (billTxn.TotalAmount ?? default(double)) * -1; BillingBL.UpdateInsuranceCurrentBalance(connString, billTxn.PatientId, billTxn.InsuranceProviderId ?? default(int), currentUser.EmployeeId, deductableInsuranceAmount, true); } var invoiceItems = billingDbContext.BillingTransactionItems.Where(b => b.BillingTransactionId == billInvoiceRet.BillingTransactionId).ToList(); //replaced calling centralized function in BillingBL for (int i = 0; i < invoiceItems.Count; i++) { invoiceItems[i] = BillingTransactionBL.UpdateTxnItemBillStatus(billingDbContext, invoiceItems[i], "returned", currentUser.EmployeeId); } //Yubraj: 18th Dec '18 :: Updating IsActive in deposit table while invoice return List <BillingDeposit> deposit = (from dpt in billingDbContext.BillingDeposits where dpt.BillingTransactionId == billInvoiceRet.BillingTransactionId && (dpt.DepositType == "depositdeduct" || dpt.DepositType == "ReturnDeposit") select dpt).ToList(); if (deposit != null) { deposit.ForEach(a => { a.IsActive = true; //keeping false was affecting the patient deposit info a.ModifiedRemarks = "Updated after invoice return of BillTxnId: " + billInvoiceRet.BillingTransactionId.ToString(); a.ModifiedOn = DateTime.Now; a.ModifiedBy = currentUser.EmployeeId; }); } billInvoiceRet.ReturnedItems = invoiceItems.ToList(); billingDbContext.SaveChanges(); dbContextTransaction.Commit(); //end of transaction responseData.Results = billInvoiceRet; } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } } else { responseData.Status = "Failed"; responseData.ErrorMessage = "billTransactionitems is invalid"; } } } catch (Exception ex) { responseData.Status = "Failed"; responseData.ErrorMessage = ex.Message + " exception details:" + ex.ToString(); } return(DanpheJSONConvert.SerializeObject(responseData, true)); }
public static Boolean StockTransfer(WARDStockModel stkTransferfromClient, WardSupplyDbContext wardSupplyDbContext, RbacUser currentUser) { //Transaction Begin using (var dbContextTransaction = wardSupplyDbContext.Database.BeginTransaction()) { try { List <Boolean> flag = new List <bool>(); //for checking all transaction status var AvailableQuantity = (int)(Convert.ToDecimal(stkTransferfromClient.AvailableQuantity)) - (int)(Convert.ToDecimal(stkTransferfromClient.DispachedQuantity)); WARDStockModel stockDetail = (from stock in wardSupplyDbContext.WARDStockModel where stock.StockId == stkTransferfromClient.StockId select stock ).FirstOrDefault(); stockDetail.AvailableQuantity = AvailableQuantity; wardSupplyDbContext.Entry(stockDetail).Property(a => a.AvailableQuantity).IsModified = true; //add to transaction table var selectedstockTxnItm = new WARDTransactionModel(); selectedstockTxnItm.WardId = stkTransferfromClient.WardId; selectedstockTxnItm.newWardId = stkTransferfromClient.newWardId; selectedstockTxnItm.ItemId = stkTransferfromClient.ItemId; selectedstockTxnItm.StockId = stkTransferfromClient.StockId; selectedstockTxnItm.TransactionId = 0; selectedstockTxnItm.Quantity = (int)(Convert.ToDecimal(stkTransferfromClient.DispachedQuantity)); selectedstockTxnItm.TransactionType = "WardtoWard"; selectedstockTxnItm.Remarks = stkTransferfromClient.Remarks; selectedstockTxnItm.CreatedBy = currentUser.UserName; selectedstockTxnItm.CreatedOn = DateTime.Now; selectedstockTxnItm.IsWard = true; wardSupplyDbContext.TransactionModel.Add(selectedstockTxnItm); wardSupplyDbContext.SaveChanges(); //add stock to new ward stkTransferfromClient.WardId = stkTransferfromClient.newWardId; stockDetail = (from stock in wardSupplyDbContext.WARDStockModel where stock.WardId == stkTransferfromClient.WardId && stock.ItemId == stkTransferfromClient.ItemId && stock.BatchNo == stkTransferfromClient.BatchNo select stock ).FirstOrDefault(); if (stockDetail != null) { stockDetail.AvailableQuantity = stockDetail.AvailableQuantity + (int)(Convert.ToDecimal(stkTransferfromClient.DispachedQuantity)); wardSupplyDbContext.Entry(stockDetail).Property(a => a.AvailableQuantity).IsModified = true; wardSupplyDbContext.SaveChanges(); } else { stkTransferfromClient.AvailableQuantity = (int)(Convert.ToDecimal(stkTransferfromClient.DispachedQuantity)); wardSupplyDbContext.WARDStockModel.Add(stkTransferfromClient); wardSupplyDbContext.SaveChanges(); } dbContextTransaction.Commit();//Commit Transaction return(true); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } //return false; } }
public async Task DeleteAsync(RbacUser user) { await _userRepository.DeleteAsync(user); }
public async Task UpdateAsync(RbacUser user) { await _userRepository.UpdateAsync(user); }