public async Task <JsonResult> EmployeeEosDelete(string empid, string projname, string sessionid)
        {
            System.Diagnostics.Debug.WriteLine(projname);
            ViewBag.SessionID = sessionid;
            if (Authenticate("AllEmployeesEos"))
            {
                try
                {
                    if (empid != null && projname != null)
                    {
                        EosDataModel eosDataModel = await eosDataDbContext.EosDataDbSet.Where(model => model.empid.Equals(empid) && model.projname.Equals(projname)).FirstOrDefaultAsync();

                        eosDataDbContext.EosDataDbSet.Remove(eosDataModel);
                        await eosDataDbContext.SaveChangesAsync();

                        return(Json("Success"));
                    }
                    else
                    {
                        return(Json("Fail"));
                    }
                }
                catch
                {
                    return(Json("Fail"));
                }
            }
            return(Json("Fail"));
        }
        public async Task <JsonResult> EmployeeEos(List <EosDataModel> eosDataModels, string sessionid)
        {
            ViewBag.SessionID = sessionid;
            if (Authenticate("AllEmployeesEos"))
            {
                currentFinancialYear = CurrentFinancialYearChecker();

                try
                {
                    if (eosDataModels != null)
                    {
                        EosDataModel oldvalues = new EosDataModel();
                        foreach (EosDataModel eosDataModel in eosDataModels)
                        {
                            oldvalues = eosDataDbContext.EosDataDbSet.Where(model => model.empid.Equals(eosDataModel.empid) && model.projname.Equals(eosDataModel.projname)).FirstOrDefault();
                            if (oldvalues != null)
                            {
                                for (int i = 0; i < 12; i++)
                                {
                                    eosDataDbContext.Entry(oldvalues).Property(months[i]).CurrentValue = eosDataDbContext.Entry(eosDataModel).Property(months[i]).CurrentValue;
                                }
                            }
                            else
                            {
                                eosDataModel.year = currentFinancialYear;
                                eosDataDbContext.EosDataDbSet.Add(eosDataModel);
                            }
                        }
                        await eosDataDbContext.SaveChangesAsync();

                        return(Json("Success"));
                    }
                }
                catch
                {
                    return(Json("Fail"));
                }
            }
            return(Json("Fail"));
        }
        public async Task <JsonResult> MyEos(List <EosDataModel> eosDataModels, string sessionid)
        {
            ViewBag.SessionID = sessionid;
            if (Authenticate("MyEos"))
            {
                currentFinancialYear = CurrentFinancialYearChecker();

                try
                {
                    if (eosDataModels != null)
                    {
                        EosDataModel oldvalues = new EosDataModel();
                        foreach (EosDataModel eosDataModel in eosDataModels)
                        {
                            oldvalues = eosDataDbContext.EosDataDbSet.Where(model => model.empid.Equals(eosDataModel.empid) && model.projname.Equals(eosDataModel.projname)).FirstOrDefault();

                            if (oldvalues != null)                                     // for updation of old values
                            {
                                if (currentdate.Month >= 1 && currentdate.Month <= 3)  // for Jan, Feb and Mar Financial Month
                                {
                                    for (int i = (currentdate.Month) + 8; i < 12; i++) // Current Month till Mar
                                    {
                                        eosDataDbContext.Entry(oldvalues).Property(months[i]).CurrentValue = eosDataDbContext.Entry(eosDataModel).Property(months[i]).CurrentValue;
                                    }
                                }
                                else
                                {
                                    for (int i = (currentdate.Month) - 4; i < 12; i++)
                                    {
                                        eosDataDbContext.Entry(oldvalues).Property(months[i]).CurrentValue = eosDataDbContext.Entry(eosDataModel).Property(months[i]).CurrentValue;
                                    }
                                }
                            }
                            else // for adding new values
                            {
                                if (currentdate.Month >= 1 && currentdate.Month <= 3) // for Jan, Feb and Mar Financial Month
                                {
                                    for (int i = 0; i < (currentdate.Month) + 8; i++) // April Month till < Current Month
                                    {
                                        eosDataDbContext.Entry(eosDataModel).Property(months[i]).CurrentValue = 0;
                                    }
                                }
                                else
                                {
                                    for (int i = 0; i < (currentdate.Month) - 4; i++) // April Month till < Current Month
                                    {
                                        eosDataDbContext.Entry(eosDataModel).Property(months[i]).CurrentValue = 0;
                                    }
                                }
                                eosDataModel.year = currentFinancialYear;
                                eosDataDbContext.EosDataDbSet.Add(eosDataModel);
                            }
                        }

                        await eosDataDbContext.SaveChangesAsync();

                        return(Json("Success"));
                    }
                }
                catch
                {
                    return(Json("Fail"));
                }
            }
            return(Json("Fail"));
        }